def tree.leaf.def.hit
emerging-eztoml@0.9.0.0 · main.bend:2146
import emerging-eztoml@0.9.0.0/main.bend as EmergingEztoml
import Base
2146
2147def tree.leaf.def.hit(
2148 hit: Look,
2149 name: String,
2150 vs: List<&2, Val>,
2151 stack: List<&2, Fr>,
2152 bad: String,
2153 +path: String,
2154 +heads: List<&2, String>
2155) -> End:
2156 match hit:
2157 case KMiss{}:
2158 tree.rebuild(stack, VPair{name, VHead{path, []}} <> vs, bad,
2159 heads.by.head(path) <> heads)
2160 case KHead{_p, rows}:
2161 tree.leaf.def.head(heads.has(heads, path), name, vs, rows, stack, bad, path,
2162 heads)
2163 case KInl{}:
2164 tree.rebuild(stack, vs, err.first(bad, "inline table is closed"), heads)
2165 case KAots{_p, _elems}:
2166 tree.rebuild(stack, vs, err.first(bad, "not a table"), heads)
2167 case KNo{why}:
2168 tree.rebuild(stack, vs, err.first(bad, why), heads)