|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.eclipse.jdt.internal.compiler.flow.FlowInfo
org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo
org.eclipse.jdt.internal.compiler.flow.NullInfoRegistry
public class NullInfoRegistry
A degenerate form of UnconditionalFlowInfo explicitly meant to capture
the effects of null related operations within try blocks. Given the fact
that a try block might exit at any time, a null related operation that
occurs within such a block mitigates whatever we know about the previous
null status of involved variables. NullInfoRegistry handles that
by negating upstream definite information that clashes with what a given
statement contends about the same variable. It also implements
mitigateNullInfo so as to elaborate the
flow info presented in input of finally blocks.
| 嵌套类摘要 |
|---|
| 从类 org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo 继承的嵌套类/接口 |
|---|
UnconditionalFlowInfo.AssertionFailedException |
| 字段摘要 |
|---|
| 从类 org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo 继承的字段 |
|---|
BitCacheSize, COVERAGE_TEST_FLAG, CoverageTestId, definiteInits, extra, extraLength, maxFieldCount, nullBit1, nullBit2, nullBit3, nullBit4, nullStatusChangedInAssert, 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 |
| 构造方法摘要 | |
|---|---|
NullInfoRegistry(UnconditionalFlowInfo upstream)
Make a new null info registry, using an upstream flow info. |
|
| 方法摘要 | |
|---|---|
NullInfoRegistry |
add(NullInfoRegistry other)
Add the information held by another NullInfoRegistry instance to this, then return this. |
void |
markAsComparedEqualToNonNull(LocalVariableBinding local)
Record that a local variable got checked to be non null. |
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 |
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 |
mitigateNullInfoOf(FlowInfo flowInfo)
Mitigate the definite and protected info of flowInfo, depending on what this null info registry knows about potential assignments and messages sends involving locals. |
String |
toString()
|
| 从类 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 NullInfoRegistry(UnconditionalFlowInfo upstream)
upstream - - UnconditionalFlowInfo: the flow info before we enter the
try block; only definite assignments are considered; this parameter is
not modified by this constructor| 方法详细信息 |
|---|
public NullInfoRegistry add(NullInfoRegistry other)
other - - NullInfoRegistry: the information to add to this
public void markAsComparedEqualToNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
UnconditionalFlowInfo 中的 markAsComparedEqualToNonNulllocal - the checked local variablepublic void markAsDefinitelyNonNull(LocalVariableBinding local)
FlowInfo 复制的描述
UnconditionalFlowInfo 中的 markAsDefinitelyNonNullpublic void markAsDefinitelyNull(LocalVariableBinding local)
FlowInfo 复制的描述
UnconditionalFlowInfo 中的 markAsDefinitelyNullpublic void markAsDefinitelyUnknown(LocalVariableBinding local)
UnconditionalFlowInfo 复制的描述
UnconditionalFlowInfo 中的 markAsDefinitelyUnknownlocal - the local to markpublic UnconditionalFlowInfo mitigateNullInfoOf(FlowInfo flowInfo)
flowInfo - - FlowInfo: the flow information that this null info
registry may mitigate
public String toString()
UnconditionalFlowInfo 中的 toStringpublic void markPotentiallyUnknownBit(LocalVariableBinding local)
UnconditionalFlowInfo 中的 markPotentiallyUnknownBitlocal - the local to markpublic void markPotentiallyNullBit(LocalVariableBinding local)
FlowInfo 复制的描述
UnconditionalFlowInfo 中的 markPotentiallyNullBitpublic void markPotentiallyNonNullBit(LocalVariableBinding local)
FlowInfo 复制的描述
UnconditionalFlowInfo 中的 markPotentiallyNonNullBit
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||