Klasse ConditionalFlowInfo
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo
org.aspectj.org.eclipse.jdt.internal.compiler.flow.ConditionalFlowInfo
Record conditional initialization status during definite assignment analysis
-
Feldübersicht
FelderVon Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo
DEAD_END, FREE_TYPEVARIABLE, NON_NULL, NULL, NULL_FLAG_MASK, POTENTIALLY_NON_NULL, POTENTIALLY_NULL, POTENTIALLY_UNKNOWN, REACHABLE, tagBits, UNKNOWN, UNREACHABLE, UNREACHABLE_BY_NULLANALYSIS, UNREACHABLE_OR_DEAD, UNROOTED -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungaddInitializationsFrom(FlowInfo otherInits) Add other inits to this flow info, then return this.addNullInfoFrom(FlowInfo otherInits) Add all null information from otherInits to this flow info and return this.addPotentialInitializationsFrom(FlowInfo otherInits) Compose other inits over this flow info, then return this.copy()Return a deep copy of the current instance.booleanCheck if any null info has been recorded for a given local variable.Return the flow info that would result from the path associated to the value false for the condition expression that generated this flow info.Return the flow info that would result from the path associated to the value true for the condition expression that generated this flow info.booleanisDefinitelyAssigned(FieldBinding field) Check status of definite assignment for a field.booleanCheck status of definite assignment for a local.booleanCheck status of definite non-null value for a given local variable.booleanCheck status of definite null value for a given local variable.booleanCheck status of definite unknown value for a given local variable.booleanCheck status of potential assignment for a field.booleanCheck status of potential assignment for a local variable.booleanCheck status of potential null assignment for a local.booleanCheck status of potential null assignment for a local.booleanReturn true if the given local may have been assigned to an unknown value.booleanReturn true if the given local is protected by a test against a non null value.booleanReturn true if the given local is protected by a test against null.voidRecord that a local variable got checked to be non null.voidRecord that a local variable got checked to be null.voidRecord a field got definitely assigned.voidRecord a local got definitely assigned.voidRecord a local got definitely assigned to a non-null value.voidRecord a local got definitely assigned to null.voidRecord a local got definitely assigned to an unknown value.voidRecord a local may have got assigned to non-null (set the bit on existing info).voidRecord a local may have got assigned to null (set the bit on existing info).voidRecord a local may have got assigned to unknown (set the bit on existing info).mergeDefiniteInitsWith(UnconditionalFlowInfo otherInits) 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).Return a copy of this unconditional flow info, deprived from its null info.voidResets the definite and potential initialization info for the given local variablevoidReset all null-information about a given local.Return a flow info that carries the same information as the result ofinitsWhenTrue, but warrantied to be different from this.
Caveat: side effects on the result may affect components of this.setReachMode(int reachMode) Set this flow info reach mode and return this.toString()Return a new flow info that holds the same information as this would after a call to unconditionalInits, but leaving this info unaffected.Return a new flow info that holds the same information as this would after a call tounconditionalInitsfollowed by the erasure of fields specific information, but leaving this flow info unaffected.Return a flow info that merges the possible paths of execution described by this flow info.Return a new flow info that holds the same information as this would after a call tounconditionalInits, but leaving this info unaffected.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo
cannotBeDefinitelyNullOrNonNull, cannotBeNull, canOnlyBeNull, conditional, initial, markNullStatus, mergedOptimizedBranches, mergedOptimizedBranchesIfElse, mergeNullStatus, nullStatus, reachMode, tagBitsToNullStatus
-
Felddetails
-
initsWhenTrue
-
initsWhenFalse
-
-
Methodendetails
-
addInitializationsFrom
Beschreibung aus Klasse kopiert:FlowInfoAdd other inits to this flow info, then return this. The operation semantics are to match as closely as possible the application to this flow info of all the operations that resulted into otherInits.- Angegeben von:
addInitializationsFromin KlasseFlowInfo- Parameter:
otherInits- other inits to add to this- Gibt zurück:
- this, modified according to otherInits information
-
addNullInfoFrom
Beschreibung aus Klasse kopiert:FlowInfoAdd all null information from otherInits to this flow info and return this. The operation models the effect of an unconditional sequence of this flow info and otherInits.- Angegeben von:
addNullInfoFromin KlasseFlowInfo
-
addPotentialInitializationsFrom
Beschreibung aus Klasse kopiert:FlowInfoCompose other inits over this flow info, then return this. The operation semantics are to wave into this flow info the consequences of a possible path into the operations that resulted into otherInits. The fact that this path may be left unexecuted under peculiar conditions results into less specific results thanaddInitializationsFrom.- Angegeben von:
addPotentialInitializationsFromin KlasseFlowInfo- Parameter:
otherInits- other inits to compose over this- Gibt zurück:
- this, modified according to otherInits information
-
asNegatedCondition
- Setzt außer Kraft:
asNegatedConditionin KlasseFlowInfo
-
copy
Beschreibung aus Klasse kopiert:FlowInfoReturn a deep copy of the current instance. -
initsWhenFalse
Beschreibung aus Klasse kopiert:FlowInfoReturn the flow info that would result from the path associated to the value false for the condition expression that generated this flow info. May be this flow info if it is not an instance ofConditionalFlowInfo. May have a side effect on subparts of this flow info (subtrees get merged).- Angegeben von:
initsWhenFalsein KlasseFlowInfo- Gibt zurück:
- the flow info associated to the false branch of the condition that generated this flow info
-
initsWhenTrue
Beschreibung aus Klasse kopiert:FlowInfoReturn the flow info that would result from the path associated to the value true for the condition expression that generated this flow info. May be this flow info if it is not an instance ofConditionalFlowInfo. May have a side effect on subparts of this flow info (subtrees get merged).- Angegeben von:
initsWhenTruein KlasseFlowInfo- Gibt zurück:
- the flow info associated to the true branch of the condition that generated this flow info
-
isDefinitelyAssigned
Beschreibung aus Klasse kopiert:FlowInfoCheck status of definite assignment for a field.- Angegeben von:
isDefinitelyAssignedin KlasseFlowInfo
-
isDefinitelyAssigned
Beschreibung aus Klasse kopiert:FlowInfoCheck status of definite assignment for a local.- Angegeben von:
isDefinitelyAssignedin KlasseFlowInfo
-
isDefinitelyNonNull
Beschreibung aus Klasse kopiert:FlowInfoCheck status of definite non-null value for a given local variable.- Angegeben von:
isDefinitelyNonNullin KlasseFlowInfo- Parameter:
local- the variable to ckeck- Gibt zurück:
- true iff local is definitely non null for this flow info
-
isDefinitelyNull
Beschreibung aus Klasse kopiert:FlowInfoCheck status of definite null value for a given local variable.- Angegeben von:
isDefinitelyNullin KlasseFlowInfo- Parameter:
local- the variable to ckeck- Gibt zurück:
- true iff local is definitely null for this flow info
-
isDefinitelyUnknown
Beschreibung aus Klasse kopiert:FlowInfoCheck status of definite unknown value for a given local variable.- Angegeben von:
isDefinitelyUnknownin KlasseFlowInfo- Parameter:
local- the variable to ckeck- Gibt zurück:
- true iff local is definitely unknown for this flow info
-
hasNullInfoFor
Beschreibung aus Klasse kopiert:FlowInfoCheck if any null info has been recorded for a given local variable. Here even recording of 'UNKNOWN' is considered as null info.- Angegeben von:
hasNullInfoForin KlasseFlowInfo
-
isPotentiallyAssigned
Beschreibung aus Klasse kopiert:FlowInfoCheck status of potential assignment for a field.- Angegeben von:
isPotentiallyAssignedin KlasseFlowInfo
-
isPotentiallyAssigned
Beschreibung aus Klasse kopiert:FlowInfoCheck status of potential assignment for a local variable.- Angegeben von:
isPotentiallyAssignedin KlasseFlowInfo
-
isPotentiallyNonNull
Beschreibung aus Klasse kopiert:FlowInfoCheck status of potential null assignment for a local. Return true if there is a reasonable expectation that the variable be non null at this point.- Angegeben von:
isPotentiallyNonNullin KlasseFlowInfo- Parameter:
local- LocalVariableBinding - the binding for the checked local- Gibt zurück:
- true if there is a reasonable expectation that local be non null at this point
-
isPotentiallyNull
Beschreibung aus Klasse kopiert:FlowInfoCheck status of potential null assignment for a local. Return true if there is a reasonable expectation that the variable be null at this point. This includes the protected null case, so as to augment diagnostics, but does not really check that someone deliberately assigned to null on any specific path- Angegeben von:
isPotentiallyNullin KlasseFlowInfo- Parameter:
local- LocalVariableBinding - the binding for the checked local- Gibt zurück:
- true if there is a reasonable expectation that local be null at this point
-
isPotentiallyUnknown
Beschreibung aus Klasse kopiert:FlowInfoReturn true if the given local may have been assigned to an unknown value.- Angegeben von:
isPotentiallyUnknownin KlasseFlowInfo- Parameter:
local- the local to check- Gibt zurück:
- true if the given local may have been assigned to an unknown value
-
isProtectedNonNull
Beschreibung aus Klasse kopiert:FlowInfoReturn true if the given local is protected by a test against a non null value.- Angegeben von:
isProtectedNonNullin KlasseFlowInfo- Parameter:
local- the local to check- Gibt zurück:
- true if the given local is protected by a test against a non null
-
isProtectedNull
Beschreibung aus Klasse kopiert:FlowInfoReturn true if the given local is protected by a test against null.- Angegeben von:
isProtectedNullin KlasseFlowInfo- Parameter:
local- the local to check- Gibt zurück:
- true if the given local is protected by a test against null
-
markAsComparedEqualToNonNull
Beschreibung aus Klasse kopiert:FlowInfoRecord that a local variable got checked to be non null.- Angegeben von:
markAsComparedEqualToNonNullin KlasseFlowInfo- Parameter:
local- the checked local variable
-
markAsComparedEqualToNull
Beschreibung aus Klasse kopiert:FlowInfoRecord that a local variable got checked to be null.- Angegeben von:
markAsComparedEqualToNullin KlasseFlowInfo- Parameter:
local- the checked local variable
-
markAsDefinitelyAssigned
Beschreibung aus Klasse kopiert:FlowInfoRecord a field got definitely assigned.- Angegeben von:
markAsDefinitelyAssignedin KlasseFlowInfo
-
markAsDefinitelyAssigned
Beschreibung aus Klasse kopiert:FlowInfoRecord a local got definitely assigned.- Angegeben von:
markAsDefinitelyAssignedin KlasseFlowInfo
-
markAsDefinitelyNonNull
Beschreibung aus Klasse kopiert:FlowInfoRecord a local got definitely assigned to a non-null value.- Angegeben von:
markAsDefinitelyNonNullin KlasseFlowInfo
-
markAsDefinitelyNull
Beschreibung aus Klasse kopiert:FlowInfoRecord a local got definitely assigned to null.- Angegeben von:
markAsDefinitelyNullin KlasseFlowInfo
-
resetNullInfo
Beschreibung aus Klasse kopiert:FlowInfoReset all null-information about a given local.- Angegeben von:
resetNullInfoin KlasseFlowInfo
-
markPotentiallyNullBit
Beschreibung aus Klasse kopiert:FlowInfoRecord a local may have got assigned to null (set the bit on existing info).- Angegeben von:
markPotentiallyNullBitin KlasseFlowInfo
-
markPotentiallyNonNullBit
Beschreibung aus Klasse kopiert:FlowInfoRecord a local may have got assigned to non-null (set the bit on existing info).- Angegeben von:
markPotentiallyNonNullBitin KlasseFlowInfo
-
markAsDefinitelyUnknown
Beschreibung aus Klasse kopiert:FlowInfoRecord a local got definitely assigned to an unknown value.- Angegeben von:
markAsDefinitelyUnknownin KlasseFlowInfo
-
markPotentiallyUnknownBit
Beschreibung aus Klasse kopiert:FlowInfoRecord a local may have got assigned to unknown (set the bit on existing info).- Angegeben von:
markPotentiallyUnknownBitin KlasseFlowInfo
-
setReachMode
Beschreibung aus Klasse kopiert:FlowInfoSet this flow info reach mode and return this.- Angegeben von:
setReachModein KlasseFlowInfo- Parameter:
reachMode- one ofREACHABLE,UNREACHABLE_OR_DEAD,UNREACHABLE_BY_NULLANALYSISorUNREACHABLE- Gibt zurück:
- this, with the reach mode set to reachMode
-
mergedWith
Beschreibung aus Klasse kopiert:FlowInfoReturn 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.
- Angegeben von:
mergedWithin KlasseFlowInfo- Parameter:
otherInits- the flow info to merge with this- Gibt zurück:
- the intersection of this and otherInits.
- the receiver updated in the following way:
-
mergeDefiniteInitsWith
- Angegeben von:
mergeDefiniteInitsWithin KlasseFlowInfo
-
nullInfoLessUnconditionalCopy
Beschreibung aus Klasse kopiert:FlowInfoReturn a copy of this unconditional flow info, deprived from its null info.DEAD_ENDis returned unmodified.- Angegeben von:
nullInfoLessUnconditionalCopyin KlasseFlowInfo- Gibt zurück:
- a copy of this unconditional flow info deprived from its null info
-
toString
-
safeInitsWhenTrue
Beschreibung aus Klasse kopiert:FlowInfoReturn a flow info that carries the same information as the result ofinitsWhenTrue, but warrantied to be different from this.
Caveat: side effects on the result may affect components of this.- Angegeben von:
safeInitsWhenTruein KlasseFlowInfo- Gibt zurück:
- the result of initsWhenTrue or a copy of it
-
unconditionalCopy
Beschreibung aus Klasse kopiert:FlowInfoReturn a new flow info that holds the same information as this would after a call to unconditionalInits, but leaving this info unaffected. Moreover, the result can be modified without affecting this.- Angegeben von:
unconditionalCopyin KlasseFlowInfo- Gibt zurück:
- a new flow info carrying this unconditional flow info
-
unconditionalFieldLessCopy
Beschreibung aus Klasse kopiert:FlowInfoReturn a new flow info that holds the same information as this would after a call tounconditionalInitsfollowed by the erasure of fields specific information, but leaving this flow info unaffected.- Angegeben von:
unconditionalFieldLessCopyin KlasseFlowInfo- Gibt zurück:
- a new flow info carrying the unconditional flow info for local variables
-
unconditionalInits
Beschreibung aus Klasse kopiert:FlowInfoReturn a flow info that merges the possible paths of execution described by this flow info. In case of an unconditional flow info, return this. In case of a conditional flow info, merge branches recursively. Caveat: this may be affected, and modifying the result may affect this.- Angegeben von:
unconditionalInitsin KlasseFlowInfo- Gibt zurück:
- a flow info that merges the possible paths of execution described by this
-
unconditionalInitsWithoutSideEffect
Beschreibung aus Klasse kopiert:FlowInfoReturn a new flow info that holds the same information as this would after a call tounconditionalInits, but leaving this info unaffected. Side effects on the result might affect this though (consider it as read only).- Angegeben von:
unconditionalInitsWithoutSideEffectin KlasseFlowInfo- Gibt zurück:
- a flow info carrying this unconditional flow info
-
resetAssignmentInfo
Beschreibung aus Klasse kopiert:FlowInfoResets the definite and potential initialization info for the given local variable- Angegeben von:
resetAssignmentInfoin KlasseFlowInfo
-