def in.up.go
bend-osdev-acpi@0.1.1.0 · aml_interp.bend:400
import bend-osdev-acpi@0.1.1.0/aml_interp.bend as AmlInterp
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-acpi@0.1.1.0/aml_ns.bend as S
400def in.up.go(n: Nat, hit: Bool, +ns: S.AmlNs, +p: String, +seg: String) -> W.W64:
401 match n:
402 case 0n:
403 W.W64.zero()
404 case 1n+k:
405 match hit:
406 case True{}:
407 in.name_int(ns, S.AmlPath.child(p, seg))
408 case False{}:
409 +up = S.AmlPath.parent(p)
410 in.up.go(k, S.AmlNs.has(ns, S.AmlPath.child(up, seg)), ns, up, seg)