def AaVars.assign.op

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

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

557def AaVars.assign.op(m: Maybe<&2, AaVRef>, name: List<&2, U32>, rest: List<&2, T.AaTok>, +src: E.AaSrc) -> Result<&2, &2, E.AaError, AaAssign>:
558  match m:
559    case None{}:
560      Fail{E.AaSrc.syntax(src)}
561    case Some{o}:
562      match o:
563        case AaVRef{tag, rem}:
564          do Result<&2, &2, E.AaError, AaAssign>:
565            vs : List<&2, List<&2, U32>> <- AaVars.values(rest, src)
566            return AaAssign{name, Bool.not(X.AaText.is_nil(tag)), X.AaText.lappend(AaVars.first(rem), vs)}

Uses (17)

Used by (2)