def AaMtB.step
bend-osdev-apparmor@0.1.0.0 · rule_mount.bend:176
import bend-osdev-apparmor@0.1.0.0/rule_mount.bend as RuleMount
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
176def AaMtB.step(p: Nat, t: T.AaTerm, +b: AaMtB, +src: E.AaSrc) -> Result<&2, &2, E.AaError, AaMtB>:
177 match p:
178 case 0n:
179 AaMtB.free(t, b, src)
180 case 1n+p1:
181 match p1:
182 case 0n:
183 Bool.pick(Result<&2, &2, E.AaError, AaMtB>, T.AaTerm.is(t, "in"), Done{AaMtB.pend(b, 3n)}, Fail{E.AaSrc.syntax(src)})
184 case 1n+p2:
185 match p2:
186 case 0n:
187 Bool.pick(Result<&2, &2, E.AaError, AaMtB>, T.AaTerm.is(t, "in"), Done{AaMtB.pend(b, 4n)}, Fail{E.AaSrc.syntax(src)})
188 case 1n+p3:
189 match p3:
190 case 0n:
191 AaMtB.cond.fstype(t, b, src)
192 case 1n+p4:
193 AaMtB.cond.options(False{}, t, b, src)