static class ReferenceCollectingCallback.ReferenceCollection extends java.lang.Object implements java.lang.Iterable<ReferenceCollectingCallback.Reference>
Modifier and Type | Field and Description |
---|---|
(package private) java.util.List<ReferenceCollectingCallback.Reference> |
references |
Constructor and Description |
---|
ReferenceCollection() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
add(ReferenceCollectingCallback.Reference reference) |
(package private) boolean |
firstReferenceIsAssigningDeclaration() |
(package private) ReferenceCollectingCallback.Reference |
getInitializingReference() |
(package private) ReferenceCollectingCallback.Reference |
getInitializingReferenceForConstants()
Constants are allowed to be defined after their first use.
|
private ReferenceCollectingCallback.Reference |
getOneAndOnlyAssignment() |
(package private) boolean |
isAssignedOnceInLifetime() |
(package private) boolean |
isEscaped()
Whether the variable is escaped into an inner scope.
|
private boolean |
isInitializingAssignmentAt(int index) |
private boolean |
isInitializingDeclarationAt(int index) |
(package private) boolean |
isNeverAssigned() |
protected boolean |
isWellDefined()
Determines if the variable for this reference collection is
"well-defined." A variable is well-defined if we can prove at
compile-time that it's assigned a value before it's used.
|
java.util.Iterator<ReferenceCollectingCallback.Reference> |
iterator() |
java.util.List<ReferenceCollectingCallback.Reference> references
public java.util.Iterator<ReferenceCollectingCallback.Reference> iterator()
iterator
in interface java.lang.Iterable<ReferenceCollectingCallback.Reference>
void add(ReferenceCollectingCallback.Reference reference)
protected boolean isWellDefined()
boolean isEscaped()
private boolean isInitializingDeclarationAt(int index)
index
- The index into the references array to look for an
assigning declaration.
This is either the declaration if a value is assigned (such as
"var a = 2", "function a()...", "... catch (a)...").private boolean isInitializingAssignmentAt(int index)
index
- The index into the references array to look for an
initialized assignment reference. That is, an assignment immediately
follow a variable declaration that itself does not initialize the
variable.ReferenceCollectingCallback.Reference getInitializingReference()
ReferenceCollectingCallback.Reference getInitializingReferenceForConstants()
boolean isAssignedOnceInLifetime()
private ReferenceCollectingCallback.Reference getOneAndOnlyAssignment()
boolean isNeverAssigned()
boolean firstReferenceIsAssigningDeclaration()