Class ContainerChangedBetween
java.lang.Object
org.ek9lang.compiler.phase5.ContainerChangedBetween
THE look-ahead of the safe-access proofs (E08030): may anything in a region of source - read AHEAD of the walk -
change the object a proven Optional / Result / Iterator refers to (
ProvenContainerChange)? Use this for
any proof that must judge code it has not walked yet; never a private scan. The two places a proof must look ahead:
a loop body, any of which may run before an access on the next pass (anywhereIn(ParseTree, ISymbol)), and the rest of a
condition after the conjunct that proves it (if name? and forget(name),
name? and forget(name) and name.get() > 0 - between(ParseTree, ISymbol, int, int)). Read ahead, a name made to share the object
counts as a change (its own later changes are not yet known to be the object's). The places code of the program's
own runs are ProgramCodeSites' - the same the walk is told of.-
Constructor Summary
ConstructorsConstructorDescriptionContainerChangedBetween(SymbolsAndScopes symbolsAndScopes, ProvenContainerChange provenContainerChange, ProgramCodeSites programCodeSites) -
Method Summary
Modifier and TypeMethodDescription(package private) booleananywhereIn(org.antlr.v4.runtime.tree.ParseTree region, ISymbol container) May anything inregionchangecontainer's object.(package private) booleanbetween(org.antlr.v4.runtime.tree.ParseTree region, ISymbol container, int afterToken, int beforeToken) May anything inregionthat starts strictly after tokenafterTokenand strictly before tokenbeforeTokenchangecontainer's object.
-
Constructor Details
-
ContainerChangedBetween
ContainerChangedBetween(SymbolsAndScopes symbolsAndScopes, ProvenContainerChange provenContainerChange, ProgramCodeSites programCodeSites)
-
-
Method Details
-
anywhereIn
May anything inregionchangecontainer's object. -
between
boolean between(org.antlr.v4.runtime.tree.ParseTree region, ISymbol container, int afterToken, int beforeToken) May anything inregionthat starts strictly after tokenafterTokenand strictly before tokenbeforeTokenchangecontainer's object.
-