Class ReferenceEdges
java.lang.Object
org.ek9lang.compiler.phase9.ReferenceEdges
- All Implemented Interfaces:
Function<IRInstr, List<ReferenceEdges.Edge>>
Every reference an instruction stores INTO an object - the edges a published object could gain - classified by
OPCODE, for V-P's audit (
PublishVerifier, review 2026-11-02 M4). It is written apart from
PublishedValues on purpose: that class says where a PUBLISH goes by rule; this one lists, for every opcode
there is, what the instruction can make a holder reach. The switch over IROpcode has no default, so a new
opcode does not compile until it is classified here - a new way to store a reference cannot slip past the barrier
unseen. A call's edges come from what its callee may keep (KeptArgumentHolders), and from an argument it
consumes (its conventions: the callee takes the count, so it keeps the value somewhere - in its receiver, if it has
one).-
Constructor Details
-
ReferenceEdges
ReferenceEdges(Function<CallInstr, Optional<ScopedSymbol>> calleeOf)
-
-
Method Details
-
apply
- Specified by:
applyin interfaceFunction<IRInstr, List<ReferenceEdges.Edge>>
-