Class ObjectSharingOfSelf
java.lang.Object
org.ek9lang.compiler.support.sharing.ObjectSharingOfSelf
- All Implemented Interfaces:
BiFunction<EK9Parser.PrimaryReferenceContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>, List<ObjectSharing.Use>>
public final class ObjectSharingOfSelf
extends Object
implements BiFunction<EK9Parser.PrimaryReferenceContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>, List<ObjectSharing.Use>>
What
this or super - the object a method runs on, whose name is no identifier - does to that
object, read exactly as the occurrence of a variable is (ObjectSharing): kept where the whole expression is
kept (items += this, box <- Box(this), (this) is ...), or the start of a call chain that may
return a view of it (this.me()). Nothing for any other use (a read of its own fields, a call of its own
methods that does not keep it - the receiver's own verdict, which the caller asks of the callee).
D80 follow-up (2026-10-21): a method that stores this was read as keeping nothing, because this
is not an identifier.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(EK9Parser.PrimaryReferenceContext self, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiFunction
andThen
-
Constructor Details
-
ObjectSharingOfSelf
public ObjectSharingOfSelf()
-
-
Method Details
-
apply
public List<ObjectSharing.Use> apply(EK9Parser.PrimaryReferenceContext self, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) - Specified by:
applyin interfaceBiFunction<EK9Parser.PrimaryReferenceContext, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol>, List<ObjectSharing.Use>>
-