Class KeptArgumentHolders

java.lang.Object
org.ek9lang.compiler.support.retention.KeptArgumentHolders
All Implemented Interfaces:
BiFunction<ScopedSymbol, Integer, List<String>>

public final class KeptArgumentHolders extends Object implements BiFunction<ScopedSymbol, Integer, List<String>>
What may come to HOLD the argument callee is given at parameterIndex, other than its result: the receiver (RetentionRule.RECEIVER) and the names of the other parameters it may store the argument into (receiver <- item, items <- item). A callee declaring unknown may keep it anywhere: the receiver and every other parameter. A rule into ambient (somewhere no argument names, such as the runtime's own tables) names no holder here. Used by the store barrier (EK9_NATIVE_CYCLE_COLLECTOR_DESIGN.md ยง13.11, S2b): an argument kept into a value a published object may reach must be published with it.