internal/core/adt: add handleParents and processAncestors
The scheduler's process() now calls handleParents before
running tasks. handleParents walks the Vertex parent chain
and triggers fieldConjunctsKnown processing on ancestors
that still have pending conjuncts. A new childConjunctsDone
condition lets processAncestors short-circuit once a
parent's contributions are confirmed complete.
Also fixes a disjunction propagation regression in
issue3857 where one arm of a shared disjunct was missing
its default marker.
Signed-off-by: Marcel van Lohuizen <mpvl@gmail.com>
Change-Id: I6dadfe9d7f7ba59b6531a6c41d255579c7d6f797
Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1236062
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>