Class PublishVerifier
java.lang.Object
org.ek9lang.compiler.phase9.PublishVerifier
- All Implemented Interfaces:
Function<IRConstruct, List<String>>
V-P (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md ยง13.11, S2 and S2b), two checks over every operation:
- exact: each instruction is immediately preceded by exactly the
PUBLISHesPublishedValuessays, in order, holders included; and everyPUBLISHis one of those. It catches a pass that drops, moves or invents one - a stray PUBLISH makes a value immortal that nothing shares; - audit: every reference an instruction stores into an object a published one may reach
(
ReferenceEdges, classified by opcode, apart from the placement rule) is published immediately before. It catches a missing RULE - a way to make a published object reach an unpublished one thatPublishedValuesdoes not know (review 2026-11-02, M4: the exact check alone is the rule checking itself). A primitive (LOAD_PRIMITIVE) is no reference.
PublishPlacement, beside V-S and V-I; a finding is a compiler defect.-
Constructor Details
-
PublishVerifier
-
-
Method Details
-
apply
- Specified by:
applyin interfaceFunction<IRConstruct, List<String>>
-