Class RetainedBy

java.lang.Object
org.ek9lang.compiler.support.sharing.RetainedBy
All Implemented Interfaces:
BiFunction<EK9Parser.ExpressionContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>, List<ObjectSharing.Use>>

final class RetainedBy extends Object implements BiFunction<EK9Parser.ExpressionContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>, List<ObjectSharing.Use>>
THE retention walk of ObjectSharing (D61): the object an expression evaluates to (or contains) - what keeps it? The variable it is stored in, a container it is added to or put in a literal of, a call or constructor that may keep its argument, a for loop's variable, a stream's holders, or the returning variable of a construct whose value is assigned - ObjectSharing.Kind.SHARED with a nameable holder, else ObjectSharing.Kind.ESCAPES.