|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.eclipse.jdt.internal.compiler.flow.FlowInfo
org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
public class UnconditionalFlowInfo
Record initialization status during definite assignment analysis No caching of pre-allocated instances.
| 嵌套类摘要 | |
|---|---|
static class |
UnconditionalFlowInfo.AssertionFailedException
Exception raised when unexpected behavior is detected. |
| 字段摘要 | |
|---|---|
static int |
BitCacheSize
|
static boolean |
COVERAGE_TEST_FLAG
|
static int |
CoverageTestId
|
long |
definiteInits
|
long[][] |
extra
|
static int |
extraLength
|
int |
maxFieldCount
|
long |
nullBit1
|
long |
nullBit2
|
long |
nullBit3
|
long |
nullBit4
|
int[] |
nullStatusChangedInAssert
|
long |
potentialInits
|
| 从类 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 |
| 构造方法摘要 | |
|---|---|
UnconditionalFlowInfo()
|
|
| 方法摘要 | |
|---|---|
FlowInfo |
addInitializationsFrom(FlowInfo inits)
Add other inits to this flow info, then return this. |
FlowInfo |
addNullInfoFrom(FlowInfo inits)
Add all null information from otherInits to this flow info and return this. |
FlowInfo |
addPotentialInitializationsFrom(FlowInfo inits)
Compose other inits over this flow info, then return this. |
UnconditionalFlowInfo |
addPotentialNullInfoFrom(UnconditionalFlowInfo otherInits)
Compose other inits over this flow info, then return this. |
boolean |
cannotBeDefinitelyNullOrNonNull(LocalVariableBinding local)
Check whether a given local variable is known to be unable to gain a definite non null or definite null status by the use of an enclosing flow info. |
boolean |
cannotBeNull(LocalVariableBinding local)
Check whether a given local variable is known to be non null, either because it is definitely non null, or because is has been tested against non null. |
boolean |
canOnlyBeNull(LocalVariableBinding local)
Check whether a given local variable is known to be null, either because it is definitely null, or because is has been tested against null. |
FlowInfo |
copy()
Return a deep copy of the current instance. |
UnconditionalFlowInfo |
discardInitializationInfo()
Discard definite inits and potential inits from this, then return this. |
UnconditionalFlowInfo |
discardNonFieldInitializations()
Remove local variables information from this flow info and return this. |
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. |
protected static boolean |
isTrue(boolean expression,
String message)
Asserts that the given boolean is true. |
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)
Mark a local as having been 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)
Mark a local as potentially having been assigned to an unknown value. |
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. |
UnconditionalFlowInfo |
nullInfoLessUnconditionalCopy()
Return a copy of this unconditional flow info, deprived from its null info. |
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. |
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. |
| 从类 org.eclipse.jdt.internal.compiler.flow.FlowInfo 继承的方法 |
|---|
asNegatedCondition, conditional, initial, markNullStatus, mergedOptimizedBranches, mergedOptimizedBranchesIfElse, nullStatus, reachMode |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 字段详细信息 |
|---|
public static final boolean COVERAGE_TEST_FLAG
public static int CoverageTestId
public long definiteInits
public long potentialInits
public long nullBit1
public long nullBit2
public long nullBit3
public long nullBit4
public static final int extraLength
public long[][] extra
public int maxFieldCount
public static final int BitCacheSize
public int[] nullStatusChangedInAssert
| 构造方法详细信息 |
|---|
public UnconditionalFlowInfo()
| 方法详细信息 |
|---|
public FlowInfo addInitializationsFrom(FlowInfo inits)
FlowInfo 复制的描述
FlowInfo 中的 addInitializationsFrominits - other inits to add to this
public FlowInfo addNullInfoFrom(FlowInfo inits)
FlowInfo 复制的描述
FlowInfo 中的 addNullInfoFrompublic FlowInfo addPotentialInitializationsFrom(FlowInfo inits)
FlowInfo 复制的描述addInitializationsFrom.
FlowInfo 中的 addPotentialInitializationsFrominits - other inits to compose over this
public UnconditionalFlowInfo addPotentialNullInfoFrom(UnconditionalFlowInfo otherInits)
addInitializationsFrom; moreover,
only the null information is affected.
otherInits - other null inits to compose over this
public final boolean cannotBeDefinitelyNullOrNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 cannotBeDefinitelyNullOrNonNulllocal - the variable to check
public final boolean cannotBeNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 cannotBeNulllocal - the variable to ckeck
public final boolean canOnlyBeNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 canOnlyBeNulllocal - the variable to ckeck
public FlowInfo copy()
FlowInfo 复制的描述
FlowInfo 中的 copypublic UnconditionalFlowInfo discardInitializationInfo()
public UnconditionalFlowInfo discardNonFieldInitializations()
public FlowInfo initsWhenFalse()
FlowInfo 复制的描述ConditionalFlowInfo. May have a side effect on subparts of this flow
info (subtrees get merged).
FlowInfo 中的 initsWhenFalsepublic FlowInfo initsWhenTrue()
FlowInfo 复制的描述ConditionalFlowInfo. May have a side effect on subparts of this flow
info (subtrees get merged).
FlowInfo 中的 initsWhenTruepublic final boolean isDefinitelyAssigned(FieldBinding field)
FlowInfo 复制的描述
FlowInfo 中的 isDefinitelyAssignedpublic final boolean isDefinitelyAssigned(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isDefinitelyAssignedpublic final boolean isDefinitelyNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isDefinitelyNonNulllocal - the variable to ckeck
public final boolean isDefinitelyNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isDefinitelyNulllocal - the variable to ckeck
public final boolean isDefinitelyUnknown(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isDefinitelyUnknownlocal - the variable to ckeck
public final boolean isPotentiallyAssigned(FieldBinding field)
FlowInfo 复制的描述
FlowInfo 中的 isPotentiallyAssignedpublic final boolean isPotentiallyAssigned(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isPotentiallyAssignedpublic final boolean isPotentiallyNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isPotentiallyNonNulllocal - LocalVariableBinding - the binding for the checked local
public final boolean isPotentiallyNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isPotentiallyNulllocal - LocalVariableBinding - the binding for the checked local
public final boolean isPotentiallyUnknown(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isPotentiallyUnknownlocal - the local to check
public final boolean isProtectedNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isProtectedNonNulllocal - the local to check
public final boolean isProtectedNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isProtectedNulllocal - the local to check
protected static boolean isTrue(boolean expression,
String message)
true. If this
is not the case, some kind of unchecked exception is thrown.
The given message is included in that exception, to aid debugging.
expression - the outcome of the checkmessage - the message to include in the exception
true if the check passes (does not return
if the check fails)public void markAsComparedEqualToNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markAsComparedEqualToNonNulllocal - the checked local variablepublic void markAsComparedEqualToNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markAsComparedEqualToNulllocal - the checked local variablepublic void markAsDefinitelyAssigned(FieldBinding field)
FlowInfo 复制的描述
FlowInfo 中的 markAsDefinitelyAssignedpublic void markAsDefinitelyAssigned(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markAsDefinitelyAssignedpublic void markAsDefinitelyNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markAsDefinitelyNonNullpublic void markAsDefinitelyNull(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markAsDefinitelyNullpublic void markAsDefinitelyUnknown(LocalVariableBinding local)
FlowInfo 中的 markAsDefinitelyUnknownlocal - the local to markpublic void resetNullInfo(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 resetNullInfopublic void markPotentiallyUnknownBit(LocalVariableBinding local)
FlowInfo 中的 markPotentiallyUnknownBitlocal - the local to markpublic void markPotentiallyNullBit(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markPotentiallyNullBitpublic void markPotentiallyNonNullBit(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markPotentiallyNonNullBitpublic UnconditionalFlowInfo mergedWith(UnconditionalFlowInfo otherInits)
FlowInfo 复制的描述
FlowInfo 中的 mergedWithotherInits - the flow info to merge with this
public UnconditionalFlowInfo nullInfoLessUnconditionalCopy()
FlowInfo 复制的描述DEAD_END is returned unmodified.
FlowInfo 中的 nullInfoLessUnconditionalCopypublic FlowInfo safeInitsWhenTrue()
FlowInfo 复制的描述initsWhenTrue, but warrantied to be different
from this.
FlowInfo 中的 safeInitsWhenTruepublic FlowInfo setReachMode(int reachMode)
FlowInfo 复制的描述
FlowInfo 中的 setReachModereachMode - one of REACHABLE, UNREACHABLE_OR_DEAD,
UNREACHABLE_BY_NULLANALYSIS or UNREACHABLE
public String toString()
FlowInfo 中的 toStringpublic UnconditionalFlowInfo unconditionalCopy()
FlowInfo 复制的描述
FlowInfo 中的 unconditionalCopypublic UnconditionalFlowInfo unconditionalFieldLessCopy()
FlowInfo 复制的描述unconditionalInits followed by the
erasure of fields specific information, but leaving this flow info unaffected.
FlowInfo 中的 unconditionalFieldLessCopypublic UnconditionalFlowInfo unconditionalInits()
FlowInfo 复制的描述
FlowInfo 中的 unconditionalInitspublic UnconditionalFlowInfo unconditionalInitsWithoutSideEffect()
FlowInfo 复制的描述unconditionalInits, but leaving
this info unaffected. Side effects on the result might affect this though
(consider it as read only).
FlowInfo 中的 unconditionalInitsWithoutSideEffectpublic void markedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 markedAsNullOrNonNullInAssertExpressionpublic boolean isMarkedAsNullOrNonNullInAssertExpression(LocalVariableBinding local)
FlowInfo 复制的描述
FlowInfo 中的 isMarkedAsNullOrNonNullInAssertExpression
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||