def AaVars.expand.go

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

import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/options.bend as O

740# more: m still holds a reference (computed by the caller, so that a text
741# without one is not substituted again)
742def AaVars.expand.go(fuel: Nat, +more: Bool, m: Maybe<&2, List<&2, U32>>, +env: List<&2, O.AaVar>, +pname: Maybe<&2, List<&2, U32>>) -> Maybe<&2, List<&2, U32>>:
743  match fuel:
744    case 0n:
745      match more:
746        case True{}:
747          None{}
748        case False{}:
749          m
750    case 1n+f:
751      match more:
752        case False{}:
753          m
754        case True{}:
755          match m:
756            case None{}:
757              None{}
758            case Some{t}:
759              +n = AaVars.subst(t, env, pname)
760              AaVars.expand.go(f, AaVars.more(n), n, env, pname)

Uses (8)

Used by (1)