Class MayBeExistingObjectByShape

java.lang.Object
org.ek9lang.compiler.support.sharing.MayBeExistingObjectByShape
All Implemented Interfaces:
BiPredicate<EK9Parser.ExpressionContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>>

public final class MayBeExistingObjectByShape extends Object implements BiPredicate<EK9Parser.ExpressionContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>>
Is the expression, looking through parentheses, of a SHAPE whose value may be an object that already exists - a variable, this/super, a call, or a coalescing operator or ternary (whose result IS one of its operands) - so only MayBeExistingObject, once phase 5 has derived the RETAINS of the program's own callables, can say whether it is. Phase 3 defers its E08090 verdict on exactly these shapes; anything else (a literal, a constructor call, a list or dict literal) is fresh and keeps its verdict there.