Uses of Record Class
org.ek9lang.compiler.support.sharing.ObjectSharing.Use
Packages that use ObjectSharing.Use
-
Uses of ObjectSharing.Use in org.ek9lang.compiler.support.sharing
Classes in org.ek9lang.compiler.support.sharing that implement interfaces with type arguments of type ObjectSharing.UseModifier and TypeClassDescription(package private) final classThe call chain that starts at a variable orthis: a link that may return a VIEW of what it was called on makes the result the same object as (part of) the receiver.final classTHE reading of what one occurrence of a name does to the OBJECT the name refers to - for every analysis that remembers what a variable holds (the phase-5 value tracker behind E08086,CompileTimeKnownTextbehind E08275).final classWhatthisorsuper- 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()).(package private) final classWhatoccurrence- an identifier the compiler bound to a symbol - does to the object it names; empty when it only reads it, or stores a new object in it.(package private) final classTHE retention walk ofObjectSharing(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, aforloop's variable, a stream's holders, or the returning variable of a construct whose value is assigned -ObjectSharing.Kind.SHAREDwith a nameable holder, elseObjectSharing.Kind.ESCAPES.Methods in org.ek9lang.compiler.support.sharing that return types with arguments of type ObjectSharing.UseModifier and TypeMethodDescriptionChainedViewUses.apply(EK9Parser.ObjectAccessStartContext start, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) ObjectSharing.apply(EK9Parser.IdentifierContext occurrence, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) EVERY effect of one occurrence: what the occurrence itself does (OccurrenceUse), plus what it RETAINS (D61) - the object put in a collection literal, a Dict value, given to a call or constructor that keeps its argument, added with a compound assignment, or iterated by afor: whatever holds it afterwards shares the object, so an in-place change through the holder (a loop variable, an element, a field) changes it too.ObjectSharingOfSelf.apply(EK9Parser.PrimaryReferenceContext self, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) OccurrenceUse.apply(EK9Parser.IdentifierContext occurrence, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) The effect of one occurrence.RetainedBy.apply(EK9Parser.ExpressionContext expression, Function<org.antlr.v4.runtime.tree.ParseTree, ISymbol> recorded) The objectexpressionevaluates to (or contains) - what keeps it?