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# open a standard table
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)

Uses (11)

Used by (1)