public class ASTState
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
protected static class |
ASTState.CircleState
Tracks the state of the current circular evaluation.
|
protected static class |
ASTState.CircularValue
This class stores an attribute value tagged with an iteration ID for
a circular evaluation.
|
protected static class |
ASTState.Cycle
Instances of this class are used to uniquely identify circular evaluation iterations.
|
| Modifier and Type | Field and Description |
|---|---|
static ASTState.Cycle |
NON_CYCLE
The iteration ID used outside of circular evaluation.
|
| Modifier | Constructor and Description |
|---|---|
protected |
ASTState() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
calledByLazyAttribute() |
protected boolean |
changeInCycle() |
protected boolean |
checkAndSetVisited(java.lang.Object attribute,
int cycle)
Check if attribute was already visited during the current cycle.
|
protected void |
clearVisited()
Reset visited cycle tracking for this thread.
|
protected ASTState.CircleState |
currentCircle() |
protected ASTState.Cycle |
cycle() |
protected void |
enterCircle() |
protected void |
enterLazyAttribute() |
protected boolean |
inCircle() |
protected boolean |
lastCycle() |
protected void |
leaveCircle() |
protected void |
leaveLazyAttribute() |
protected ASTState.Cycle |
nextCycle() |
void |
reset() |
protected void |
resetVisited(java.lang.Object attribute)
Reset visit tracker for a single attribute.
|
protected void |
setChangeInCycle() |
protected void |
startLastCycle() |
protected boolean |
testAndClearChangeInCycle() |
public static final ASTState.Cycle NON_CYCLE
This is the iteration ID when no circular evaluation is ongoing.
protected boolean inCircle()
protected boolean calledByLazyAttribute()
protected void enterLazyAttribute()
protected void leaveLazyAttribute()
protected void enterCircle()
protected boolean checkAndSetVisited(java.lang.Object attribute,
int cycle)
true if the attribute was already visited.protected void clearVisited()
protected void resetVisited(java.lang.Object attribute)
protected void leaveCircle()
protected ASTState.Cycle nextCycle()
protected ASTState.Cycle cycle()
protected ASTState.CircleState currentCircle()
protected void setChangeInCycle()
protected boolean testAndClearChangeInCycle()
protected boolean changeInCycle()
protected boolean lastCycle()
protected void startLastCycle()
public void reset()