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)

Uses (14)

Used by (1)