def AaChB.step
bend-osdev-apparmor@0.1.0.0 · rule_change_profile.bend:108
import bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend as RuleChangeProfile
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
import bend-osdev-apparmor@0.1.0.0/rule.bend as R
108def AaChB.step(t: T.AaTerm, +b: AaChB, +src: E.AaSrc) -> Result<&2, &2, E.AaError, AaChB>:
109 match t:
110 case T.AaTmWord{+w}:
111 Bool.pick(Result<&2, &2, E.AaError, AaChB>, X.AaText.is(w, "safe"), AaChB.mode(b, 1n, src), Bool.pick(Result<&2, &2, E.AaError, AaChB>, X.AaText.is(w, "unsafe"), AaChB.mode(b, 2n, src), AaChB.term.glob(R.AaRule.glob_text(w, src), b, src)))
112 case T.AaTmQuoted{q}:
113 AaChB.term.glob(R.AaRule.glob_text(q, src), b, src)
114 case T.AaTmArrow{}:
115 AaChB.arrow(b, src)
116 case _:
117 Fail{E.AaSrc.syntax(src)}