|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jdt.internal.compiler.flow.FlowInfo
org.eclipse.jdt.internal.compiler.flow.ConditionalFlowInfo
public class ConditionalFlowInfo
Record conditional initialization status during definite assignment analysis
| Field Summary | |
|---|---|
FlowInfo |
initsWhenFalse
|
FlowInfo |
initsWhenTrue
|
| Fields inherited from class org.eclipse.jdt.internal.compiler.flow.FlowInfo |
|---|
DEAD_END, NON_NULL, NULL, NULL_FLAG_MASK, POTENTIALLY_NON_NULL, POTENTIALLY_NULL, POTENTIALLY_UNKNOWN, REACHABLE, tagBits, UNKNOWN, UNREACHABLE, UNREACHABLE_BY_NULLANALYSIS, UNREACHABLE_OR_DEAD |
| Method Summary | |
|---|---|
FlowInfo |
addInitializationsFrom(FlowInfo otherInits)
Add other inits to this flow info, then return this. |
FlowInfo |
addNullInfoFrom(FlowInfo otherInits)
Add all null information from otherInits to this flow info and return this. |
FlowInfo |
addPotentialInitializationsFrom(FlowInfo otherInits)
Compose other inits over this flow info, then return this. |
FlowInfo |
asNegatedCondition()
|
FlowInfo |
copy()
Return a deep copy of the current instance. |
FlowInfo |
initsWhenFalse()
Return the flow info that would result from the path associated to the value false for the condition expression that generated this flow info. |
FlowInfo |
initsWhenTrue()
Return the flow info that would result from the path associated to the value true for the condition expression that generated this flow info. |
boolean |
isDefinitelyAssigned(FieldBinding field)
Check status of definite assignment for a field. |
boolean |
isDefinitelyAssigned(LocalVariableBinding local)
Check status of definite assignment for a local. |
boolean |
isDefinitelyNonNull(LocalVariableBinding local)
Check status of definite non-null value for a given local variable. |
boolean |
isDefinitelyNull(LocalVariableBinding local)
Check status of definite null value for a given local variable. |
boolean |
isDefinitelyUnknown(LocalVariableBinding local)
Check status of definite unknown value for a given local variable. |
boolean |
isMarkedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
Returns true if the local variable being checked for was marked as null or not null inside an assert expression due to comparison against null. |
boolean |
isPotentiallyAssigned(FieldBinding field)
Check status of potential assignment for a field. |
boolean |
isPotentiallyAssigned(LocalVariableBinding local)
Check status of potential assignment for a local variable. |
boolean |
isPotentiallyNonNull(LocalVariableBinding local)
Check status of potential null assignment for a local. |
boolean |
isPotentiallyNull(LocalVariableBinding local)
Check status of potential null assignment for a local. |
boolean |
isPotentiallyUnknown(LocalVariableBinding local)
Return true if the given local may have been assigned to an unknown value. |
boolean |
isProtectedNonNull(LocalVariableBinding local)
Return true if the given local is protected by a test against a non null value. |
boolean |
isProtectedNull(LocalVariableBinding local)
Return true if the given local is protected by a test against null. |
void |
markAsComparedEqualToNonNull(LocalVariableBinding local)
Record that a local variable got checked to be non null. |
void |
markAsComparedEqualToNull(LocalVariableBinding local)
Record that a local variable got checked to be null. |
void |
markAsDefinitelyAssigned(FieldBinding field)
Record a field got definitely assigned. |
void |
markAsDefinitelyAssigned(LocalVariableBinding local)
Record a local got definitely assigned. |
void |
markAsDefinitelyNonNull(LocalVariableBinding local)
Record a local got definitely assigned to a non-null value. |
void |
markAsDefinitelyNull(LocalVariableBinding local)
Record a local got definitely assigned to null. |
void |
markAsDefinitelyUnknown(LocalVariableBinding local)
Record a local got definitely assigned to an unknown value. |
void |
markedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
Tell the flowInfo that a local variable got marked as non null or null due to comparison with null inside an assert expression. |
void |
markPotentiallyNonNullBit(LocalVariableBinding local)
Record a local may have got assigned to non-null (set the bit on existing info). |
void |
markPotentiallyNullBit(LocalVariableBinding local)
Record a local may have got assigned to null (set the bit on existing info). |
void |
markPotentiallyUnknownBit(LocalVariableBinding local)
Record a local may have got assigned to unknown (set the bit on existing info). |
UnconditionalFlowInfo |
mergedWith(UnconditionalFlowInfo otherInits)
Return the intersection of this and otherInits, that is one of: the receiver updated in the following way: intersection of definitely assigned variables, union of potentially assigned variables, similar operations for null, or the receiver or otherInits if the other one is non reachable. otherInits is not affected, and is not returned either (no need to protect the result). |
UnconditionalFlowInfo |
nullInfoLessUnconditionalCopy()
Return a copy of this unconditional flow info, deprived from its null info. |
void |
resetAssignmentInfo(LocalVariableBinding local)
Resets the definite and potential initialization info for the given local variable |
void |
resetNullInfo(LocalVariableBinding local)
Reset all null-information about a given local. |
FlowInfo |
safeInitsWhenTrue()
Return a flow info that carries the same information as the result of initsWhenTrue, but warrantied to be different
from this.Caveat: side effects on the result may affect components of this. |
FlowInfo |
setReachMode(int reachMode)
Set this flow info reach mode and return this. |
String |
toString()
|
UnconditionalFlowInfo |
unconditionalCopy()
Return a new flow info that holds the same information as this would after a call to unconditionalInits, but leaving this info unaffected. |
UnconditionalFlowInfo |
unconditionalFieldLessCopy()
Return a new flow info that holds the same information as this would after a call to unconditionalInits followed by the
erasure of fields specific information, but leaving this flow info unaffected. |
UnconditionalFlowInfo |
unconditionalInits()
Return a flow info that merges the possible paths of execution described by this flow info. |
UnconditionalFlowInfo |
unconditionalInitsWithoutSideEffect()
Return a new flow info that holds the same information as this would after a call to unconditionalInits, but leaving
this info unaffected. |
| Methods inherited from class org.eclipse.jdt.internal.compiler.flow.FlowInfo |
|---|
cannotBeDefinitelyNullOrNonNull, cannotBeNull, canOnlyBeNull, conditional, initial, markNullStatus, mergedOptimizedBranches, mergedOptimizedBranchesIfElse, nullStatus, reachMode |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public FlowInfo initsWhenTrue
public FlowInfo initsWhenFalse
| Method Detail |
|---|
public FlowInfo addInitializationsFrom(FlowInfo otherInits)
FlowInfo
addInitializationsFrom in class FlowInfootherInits - other inits to add to this
public FlowInfo addNullInfoFrom(FlowInfo otherInits)
FlowInfo
addNullInfoFrom in class FlowInfopublic FlowInfo addPotentialInitializationsFrom(FlowInfo otherInits)
FlowInfoaddInitializationsFrom.
addPotentialInitializationsFrom in class FlowInfootherInits - other inits to compose over this
public FlowInfo asNegatedCondition()
asNegatedCondition in class FlowInfopublic FlowInfo copy()
FlowInfo
copy in class FlowInfopublic FlowInfo initsWhenFalse()
FlowInfoConditionalFlowInfo. May have a side effect on subparts of this flow
info (subtrees get merged).
initsWhenFalse in class FlowInfopublic FlowInfo initsWhenTrue()
FlowInfoConditionalFlowInfo. May have a side effect on subparts of this flow
info (subtrees get merged).
initsWhenTrue in class FlowInfopublic boolean isDefinitelyAssigned(FieldBinding field)
FlowInfo
isDefinitelyAssigned in class FlowInfopublic boolean isDefinitelyAssigned(LocalVariableBinding local)
FlowInfo
isDefinitelyAssigned in class FlowInfopublic boolean isDefinitelyNonNull(LocalVariableBinding local)
FlowInfo
isDefinitelyNonNull in class FlowInfolocal - the variable to ckeck
public boolean isDefinitelyNull(LocalVariableBinding local)
FlowInfo
isDefinitelyNull in class FlowInfolocal - the variable to ckeck
public boolean isDefinitelyUnknown(LocalVariableBinding local)
FlowInfo
isDefinitelyUnknown in class FlowInfolocal - the variable to ckeck
public boolean isPotentiallyAssigned(FieldBinding field)
FlowInfo
isPotentiallyAssigned in class FlowInfopublic boolean isPotentiallyAssigned(LocalVariableBinding local)
FlowInfo
isPotentiallyAssigned in class FlowInfopublic boolean isPotentiallyNonNull(LocalVariableBinding local)
FlowInfo
isPotentiallyNonNull in class FlowInfolocal - LocalVariableBinding - the binding for the checked local
public boolean isPotentiallyNull(LocalVariableBinding local)
FlowInfo
isPotentiallyNull in class FlowInfolocal - LocalVariableBinding - the binding for the checked local
public boolean isPotentiallyUnknown(LocalVariableBinding local)
FlowInfo
isPotentiallyUnknown in class FlowInfolocal - the local to check
public boolean isProtectedNonNull(LocalVariableBinding local)
FlowInfo
isProtectedNonNull in class FlowInfolocal - the local to check
public boolean isProtectedNull(LocalVariableBinding local)
FlowInfo
isProtectedNull in class FlowInfolocal - the local to check
public void markAsComparedEqualToNonNull(LocalVariableBinding local)
FlowInfo
markAsComparedEqualToNonNull in class FlowInfolocal - the checked local variablepublic void markAsComparedEqualToNull(LocalVariableBinding local)
FlowInfo
markAsComparedEqualToNull in class FlowInfolocal - the checked local variablepublic void markAsDefinitelyAssigned(FieldBinding field)
FlowInfo
markAsDefinitelyAssigned in class FlowInfopublic void markAsDefinitelyAssigned(LocalVariableBinding local)
FlowInfo
markAsDefinitelyAssigned in class FlowInfopublic void markAsDefinitelyNonNull(LocalVariableBinding local)
FlowInfo
markAsDefinitelyNonNull in class FlowInfopublic void markAsDefinitelyNull(LocalVariableBinding local)
FlowInfo
markAsDefinitelyNull in class FlowInfopublic void resetNullInfo(LocalVariableBinding local)
FlowInfo
resetNullInfo in class FlowInfopublic void markPotentiallyNullBit(LocalVariableBinding local)
FlowInfo
markPotentiallyNullBit in class FlowInfopublic void markPotentiallyNonNullBit(LocalVariableBinding local)
FlowInfo
markPotentiallyNonNullBit in class FlowInfopublic void markAsDefinitelyUnknown(LocalVariableBinding local)
FlowInfo
markAsDefinitelyUnknown in class FlowInfopublic void markPotentiallyUnknownBit(LocalVariableBinding local)
FlowInfo
markPotentiallyUnknownBit in class FlowInfopublic FlowInfo setReachMode(int reachMode)
FlowInfo
setReachMode in class FlowInforeachMode - one of REACHABLE, UNREACHABLE_OR_DEAD,
UNREACHABLE_BY_NULLANALYSIS or UNREACHABLE
public UnconditionalFlowInfo mergedWith(UnconditionalFlowInfo otherInits)
FlowInfo
mergedWith in class FlowInfootherInits - the flow info to merge with this
public UnconditionalFlowInfo nullInfoLessUnconditionalCopy()
FlowInfoDEAD_END is returned unmodified.
nullInfoLessUnconditionalCopy in class FlowInfopublic String toString()
toString in class FlowInfopublic FlowInfo safeInitsWhenTrue()
FlowInfoinitsWhenTrue, but warrantied to be different
from this.
safeInitsWhenTrue in class FlowInfopublic UnconditionalFlowInfo unconditionalCopy()
FlowInfo
unconditionalCopy in class FlowInfopublic UnconditionalFlowInfo unconditionalFieldLessCopy()
FlowInfounconditionalInits followed by the
erasure of fields specific information, but leaving this flow info unaffected.
unconditionalFieldLessCopy in class FlowInfopublic UnconditionalFlowInfo unconditionalInits()
FlowInfo
unconditionalInits in class FlowInfopublic UnconditionalFlowInfo unconditionalInitsWithoutSideEffect()
FlowInfounconditionalInits, but leaving
this info unaffected. Side effects on the result might affect this though
(consider it as read only).
unconditionalInitsWithoutSideEffect in class FlowInfopublic void markedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
FlowInfo
markedAsNullOrNonNullInAssertExpression in class FlowInfopublic boolean isMarkedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
FlowInfo
isMarkedAsNullOrNonNullInAssertExpression in class FlowInfopublic void resetAssignmentInfo(LocalVariableBinding local)
FlowInfo
resetAssignmentInfo in class FlowInfo
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||