Uses of Class
org.eclipse.jdt.internal.compiler.flow.FlowInfo

Packages that use FlowInfo
org.eclipse.jdt.internal.codeassist.complete   
org.eclipse.jdt.internal.compiler.ast   
org.eclipse.jdt.internal.compiler.flow   
org.eclipse.jdt.internal.compiler.lookup   
org.eclipse.jdt.internal.eval   
org.jmlspecs.jml4.ast   
org.jmlspecs.jml4.nonnull   
 

Uses of FlowInfo in org.eclipse.jdt.internal.codeassist.complete
 

Methods in org.eclipse.jdt.internal.codeassist.complete that return FlowInfo
 FlowInfo CompletionOnBrankStatementLabel.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 

Methods in org.eclipse.jdt.internal.codeassist.complete with parameters of type FlowInfo
 FlowInfo CompletionOnBrankStatementLabel.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 

Uses of FlowInfo in org.eclipse.jdt.internal.compiler.ast
 

Methods in org.eclipse.jdt.internal.compiler.ast that return FlowInfo
 FlowInfo ThisReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo SingleNameReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
abstract  FlowInfo Reference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo QualifiedNameReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo FieldReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo ArrayReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean compoundAssignment)
           
 FlowInfo WhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo UnaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local innertype
 FlowInfo TryStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThrowStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SynchronizedStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SwitchStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
abstract  FlowInfo Statement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Reference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo OR_OR_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo MessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Literal.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LabeledStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo InstanceOfExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo IfStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EqualExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EmptyStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo DoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ContinueStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ConditionalExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CompoundAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CombinedBinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ClassLiteralAccess.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CastExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CaseStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BreakStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Block.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Assignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AssertStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayInitializer.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AND_AND_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AbstractVariableDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
          More sophisticated for of the flow analysis used for analyzing expressions, and be able to optimize out portions of expressions where no actual value is required.
 FlowInfo Initializer.analyseCode(MethodScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 

Methods in org.eclipse.jdt.internal.compiler.ast with parameters of type FlowInfo
 FlowInfo ThisReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo SingleNameReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
abstract  FlowInfo Reference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo QualifiedNameReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo FieldReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo ArrayReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean compoundAssignment)
           
 FlowInfo WhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo UnaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local innertype
 FlowInfo TryStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThrowStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SynchronizedStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SwitchStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
abstract  FlowInfo Statement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Reference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo OR_OR_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo MessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Literal.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LabeledStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo InstanceOfExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo IfStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EqualExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EmptyStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo DoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ContinueStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ConditionalExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CompoundAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CombinedBinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ClassLiteralAccess.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CastExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CaseStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BreakStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Block.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Assignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AssertStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayInitializer.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AND_AND_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AbstractVariableDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
          More sophisticated for of the flow analysis used for analyzing expressions, and be able to optimize out portions of expressions where no actual value is required.
 void TypeDeclaration.analyseCode(ClassScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local member innertype
 void MethodDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializationContext, FlowInfo flowInfo)
           
 void ConstructorDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializerFlowContext, FlowInfo flowInfo)
          Deprecated. use instead ConstructorDeclaration.analyseCode(ClassScope, InitializationFlowContext, FlowInfo, int)
 void Clinit.analyseCode(ClassScope classScope, InitializationFlowContext staticInitializerFlowContext, FlowInfo flowInfo)
           
abstract  void AbstractMethodDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializationContext, FlowInfo info)
           
 void ConstructorDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializerFlowContext, FlowInfo flowInfo, int initialReachMode)
          The flowInfo corresponds to non-static field initialization infos.
 FlowInfo Initializer.analyseCode(MethodScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void AllocationExpression.checkCapturedLocalInitializationIfNecessary(ReferenceBinding checkedType, BlockScope currentScope, FlowInfo flowInfo)
           
 void Expression.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo)
          Check the local variable of this expression, if any, against potential NPEs given a flow context and an upstream flow info.
 void QualifiedNameReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, boolean checkString)
           
 boolean Statement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, boolean didAlreadyComplain)
           
 boolean EmptyStatement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, boolean didAlreadyComplain)
           
 void TypeDeclaration.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void SingleNameReference.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void QualifiedNameReference.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void QualifiedAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void AllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void TypeDeclaration.manageEnclosingInstanceAccessIfNecessary(ClassScope currentScope, FlowInfo flowInfo)
          Access emulation for a local member type force to emulation of access to direct enclosing instance.
 void QualifiedNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, TypeBinding lastReceiverType, int index, FlowInfo flowInfo)
          index is <0 to denote write access emulation
 void MessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void ExplicitConstructorCall.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void AssertStatement.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void AllocationExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void SingleNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 void FieldReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 int ThisReference.nullStatus(FlowInfo flowInfo)
           
 int SingleNameReference.nullStatus(FlowInfo flowInfo)
           
 int QualifiedNameReference.nullStatus(FlowInfo flowInfo)
           
 int OperatorExpression.nullStatus(FlowInfo flowInfo)
           
 int NullLiteral.nullStatus(FlowInfo flowInfo)
           
 int MessageSend.nullStatus(FlowInfo flowInfo)
           
 int FieldReference.nullStatus(FlowInfo flowInfo)
           
 int Expression.nullStatus(FlowInfo flowInfo)
           
 int ConditionalExpression.nullStatus(FlowInfo flowInfo)
           
 int CompoundAssignment.nullStatus(FlowInfo flowInfo)
           
 int CastExpression.nullStatus(FlowInfo flowInfo)
           
 int Assignment.nullStatus(FlowInfo flowInfo)
           
 int ArrayReference.nullStatus(FlowInfo flowInfo)
           
 

Uses of FlowInfo in org.eclipse.jdt.internal.compiler.flow
 

Subclasses of FlowInfo in org.eclipse.jdt.internal.compiler.flow
 class ConditionalFlowInfo
          Record conditional initialization status during definite assignment analysis
 class NullInfoRegistry
          A degenerate form of UnconditionalFlowInfo explicitly meant to capture the effects of null related operations within try blocks.
 class UnconditionalFlowInfo
          Record initialization status during definite assignment analysis No caching of pre-allocated instances.
 

Fields in org.eclipse.jdt.internal.compiler.flow declared as FlowInfo
 FlowInfo[] InitializationFlowContext.exceptionThrowerFlowInfos
           
 FlowInfo ConditionalFlowInfo.initsWhenFalse
           
 FlowInfo ConditionalFlowInfo.initsWhenTrue
           
 

Methods in org.eclipse.jdt.internal.compiler.flow that return FlowInfo
 FlowInfo UnconditionalFlowInfo.addInitializationsFrom(FlowInfo inits)
           
abstract  FlowInfo FlowInfo.addInitializationsFrom(FlowInfo otherInits)
          Add other inits to this flow info, then return this.
 FlowInfo ConditionalFlowInfo.addInitializationsFrom(FlowInfo otherInits)
           
 FlowInfo UnconditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo inits)
           
abstract  FlowInfo FlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
          Compose other inits over this flow info, then return this.
 FlowInfo ConditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
           
 FlowInfo FlowInfo.asNegatedCondition()
           
 FlowInfo ConditionalFlowInfo.asNegatedCondition()
           
static FlowInfo FlowInfo.conditional(FlowInfo initsWhenTrue, FlowInfo initsWhenFalse)
           
 FlowInfo UnconditionalFlowInfo.copy()
           
abstract  FlowInfo FlowInfo.copy()
          Return a deep copy of the current instance.
 FlowInfo ConditionalFlowInfo.copy()
           
 FlowInfo FlowContext.initsOnBreak()
           
 FlowInfo UnconditionalFlowInfo.initsWhenFalse()
           
abstract  FlowInfo 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 ConditionalFlowInfo.initsWhenFalse()
           
 FlowInfo UnconditionalFlowInfo.initsWhenTrue()
           
abstract  FlowInfo 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.
 FlowInfo ConditionalFlowInfo.initsWhenTrue()
           
 FlowInfo UnconditionalFlowInfo.safeInitsWhenTrue()
           
abstract  FlowInfo 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 ConditionalFlowInfo.safeInitsWhenTrue()
           
 FlowInfo UnconditionalFlowInfo.setReachMode(int reachMode)
           
abstract  FlowInfo FlowInfo.setReachMode(int reachMode)
          Set this flow info reach mode and return this.
 FlowInfo ConditionalFlowInfo.setReachMode(int reachMode)
           
 

Methods in org.eclipse.jdt.internal.compiler.flow with parameters of type FlowInfo
 FlowInfo UnconditionalFlowInfo.addInitializationsFrom(FlowInfo inits)
           
abstract  FlowInfo FlowInfo.addInitializationsFrom(FlowInfo otherInits)
          Add other inits to this flow info, then return this.
 FlowInfo ConditionalFlowInfo.addInitializationsFrom(FlowInfo otherInits)
           
 FlowInfo UnconditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo inits)
           
abstract  FlowInfo FlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
          Compose other inits over this flow info, then return this.
 FlowInfo ConditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
           
 void FlowContext.checkExceptionHandlers(TypeBinding[] raisedExceptions, ASTNode location, FlowInfo flowInfo, BlockScope scope)
           
 void FlowContext.checkExceptionHandlers(TypeBinding raisedException, ASTNode location, FlowInfo flowInfo, BlockScope scope)
           
 void InitializationFlowContext.checkInitializerExceptions(BlockScope currentScope, FlowContext initializerContext, FlowInfo flowInfo)
           
 void FinallyFlowContext.complainOnDeferredChecks(FlowInfo flowInfo, BlockScope scope)
          Given some contextual initialization info (derived from a try block or a catch block), this code will check that the subroutine context does not also initialize a final variable potentially set redundantly.
 void LoopingFlowContext.complainOnDeferredFinalChecks(BlockScope scope, FlowInfo flowInfo)
          Perform deferred checks relative to final variables duplicate initialization of lack of initialization.
 void LoopingFlowContext.complainOnDeferredNullChecks(BlockScope scope, FlowInfo callerFlowInfo)
          Perform deferred checks relative to the null status of local variables.
static FlowInfo FlowInfo.conditional(FlowInfo initsWhenTrue, FlowInfo initsWhenFalse)
           
static UnconditionalFlowInfo FlowInfo.mergedOptimizedBranches(FlowInfo initsWhenTrue, boolean isOptimizedTrue, FlowInfo initsWhenFalse, boolean isOptimizedFalse, boolean allowFakeDeadBranch)
          Merge branches using optimized boolean conditions
 UnconditionalFlowInfo NullInfoRegistry.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.
 void SwitchFlowContext.recordBreakFrom(FlowInfo flowInfo)
           
 void FlowContext.recordBreakFrom(FlowInfo flowInfo)
           
 void LoopingFlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo)
           
 void FlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo)
           
 void FlowContext.recordSettingFinal(VariableBinding variable, Reference finalReference, FlowInfo flowInfo)
           
 void LoopingFlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, Expression reference, int checkType, FlowInfo flowInfo)
           
 void FlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, Expression reference, int checkType, FlowInfo flowInfo)
          Record a null reference for use by deferred checks.
 void FinallyFlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, Expression reference, int checkType, FlowInfo flowInfo)
           
 

Constructors in org.eclipse.jdt.internal.compiler.flow with parameters of type FlowInfo
LoopingFlowContext(FlowContext parent, FlowInfo upstreamNullFlowInfo, ASTNode associatedNode, BranchLabel breakLabel, BranchLabel continueLabel, Scope associatedScope)
           
 

Uses of FlowInfo in org.eclipse.jdt.internal.compiler.lookup
 

Methods in org.eclipse.jdt.internal.compiler.lookup with parameters of type FlowInfo
 int MethodScope.recordInitializationStates(FlowInfo flowInfo)
           
 

Uses of FlowInfo in org.eclipse.jdt.internal.eval
 

Methods in org.eclipse.jdt.internal.eval that return FlowInfo
 FlowInfo CodeSnippetReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CodeSnippetSingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 

Methods in org.eclipse.jdt.internal.eval with parameters of type FlowInfo
 FlowInfo CodeSnippetReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CodeSnippetSingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 void CodeSnippetAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void CodeSnippetQualifiedNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, TypeBinding lastReceiverType, int index, FlowInfo flowInfo)
          index is <0 to denote write access emulation
 void CodeSnippetMessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void CodeSnippetAllocationExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void CodeSnippetSingleNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 void CodeSnippetFieldReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 

Uses of FlowInfo in org.jmlspecs.jml4.ast
 

Methods in org.jmlspecs.jml4.ast that return FlowInfo
 FlowInfo JmlStoreRefExpression.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
          Deprecated.  
abstract  FlowInfo JmlTypeBodyDeclaration.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlRepresentsClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlInvariantForType.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlInitiallyClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlConstraintClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlWhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSubtypeExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlStoreRefListExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSetStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSetComprehension.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlResultReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlQuantifiedExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlOldExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlMessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlLocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlDoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlAssertOrAssumeStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlResultReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo JmlFieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 

Methods in org.jmlspecs.jml4.ast with parameters of type FlowInfo
 FlowInfo JmlStoreRefExpression.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
          Deprecated.  
abstract  FlowInfo JmlTypeBodyDeclaration.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlRepresentsClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlInvariantForType.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlInitiallyClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlConstraintClause.analyseCode(BlockScope staticInitializerScope, BlockScope initializerScope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlWhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSubtypeExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlStoreRefListExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSetStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlSetComprehension.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlResultReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlQuantifiedExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          
 FlowInfo JmlOldExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlMessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void JmlLoopVariant.analyseCode(BlockScope scope, FlowContext context, FlowInfo flowInfo)
           
 void JmlLoopAnnotations.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlLocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlDoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void JmlClause.analyseCode(BlockScope scope, FlowContext context, FlowInfo flowInfo)
           
 FlowInfo JmlAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlAssertOrAssumeStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo JmlResultReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 void JmlMethodDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializationContext, FlowInfo flowInfo)
           
 void JmlClinit.analyseCode(ClassScope classScope, InitializationFlowContext staticInitializerFlowContext, FlowInfo flowInfo)
           
 void JmlConstructorDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializerFlowContext, FlowInfo flowInfo, int initialReachMode)
           
 FlowInfo JmlFieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void JmlSpecCaseRestAsClauseSeq.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
abstract  void JmlSpecCaseRest.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCaseBody.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCaseBlock.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCase.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlMethodSpecification.analysePostcondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCaseHeader.analysePrecondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCaseBody.analysePrecondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlSpecCase.analysePrecondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlMethodSpecification.analysePrecondition(MethodScope scope, FlowContext methodContext, FlowInfo flowInfo)
           
 void JmlQualifiedNameReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, boolean checkString)
           
 void JmlTypeDeclaration.jmlAnalyseCode(FlowContext flowContext, FlowInfo flowInfo)
           
 int JmlSingleNameReference.nullStatus(FlowInfo flowInfo)
           
 int JmlQualifiedNameReference.nullStatus(FlowInfo flowInfo)
           
 int JmlMessageSend.nullStatus(FlowInfo flowInfo)
           
 int JmlFieldReference.nullStatus(FlowInfo flowInfo)
           
 int JmlConditionalExpression.nullStatus(FlowInfo flowInfo)
           
 int JmlCastExpressionWithoutType.nullStatus(FlowInfo flowInfo)
           
 int JmlCastExpression.nullStatus(FlowInfo flowInfo)
           
 int JmlAssignment.nullStatus(FlowInfo flowInfo)
           
 int JmlArrayReference.nullStatus(FlowInfo flowInfo)
           
 int JmlAllocationExpression.nullStatus(FlowInfo flowInfo)
           
 

Uses of FlowInfo in org.jmlspecs.jml4.nonnull
 

Methods in org.jmlspecs.jml4.nonnull with parameters of type FlowInfo
static boolean Nullity.isAssignable(TypeReference typeReference, Expression expression, BlockScope scope, FlowContext flowContext, FlowInfo flowInfo)
           
static void Nullity.preparePossibleUnknowns(Expression exp, BlockScope scope, FlowContext flowContext, FlowInfo flowInfo)