def AaItB.finish

bend-osdev-apparmor@0.1.0.0 · parse.bend:316

import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/token.bend as T
import bend-osdev-apparmor@0.1.0.0/error.bend as E

316def AaItB.finish(b: AaItB) -> List<&2, AaItem>:
317  match b:
318    case AaItB{+f, m, pe, pd, out}:
319      match m:
320        case AaImNorm{}:
321          match pe:
322            case Nil{}:
323              AaItem.rev_onto(out, Nil{})
324            case Con{h, t}:
325              AaItem.rev_onto(Con{AaIError{E.AaErrSyntax{f, T.AaTok.line(h)}}, out}, Nil{})
326        case AaImVarCand{+l}:
327          AaItem.rev_onto(Con{AaIError{E.AaErrSyntax{f, l}}, out}, Nil{})
328        case AaImVar{+l}:
329          AaItem.rev_onto(Con{AaIVar{T.AaTok.rev_onto(pe, Nil{}), E.AaSrc{f, l}}, out}, Nil{})
330        case AaImInc{+s, +l}:
331          AaItem.rev_onto(Con{AaIError{E.AaErrSyntax{f, l}}, out}, Nil{})

Uses (9)

Used by (1)