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   
 

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

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

Methods in org.eclipse.jdt.internal.codeassist.complete with parameters of type FlowInfo
 FlowInfo CompletionOnBranchStatementLabel.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 FieldReference.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 SingleNameReference.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 ArrayReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean compoundAssignment)
           
 FlowInfo ThisReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BreakStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ClassLiteralAccess.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CaseStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local innertype
 FlowInfo ForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo InstanceOfExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ConditionalExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TryStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AND_AND_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Reference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EqualExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo IfStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo OR_OR_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo WhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EmptyStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Literal.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SynchronizedStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CompoundAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SwitchStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
abstract  FlowInfo Statement.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 LabeledStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayInitializer.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ContinueStatement.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 ArrayReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CombinedBinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Block.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AssertStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Assignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CastExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo DoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThrowStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo MessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 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 QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo SuperReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo FieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Initializer.analyseCode(MethodScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
static FlowInfo FakedTrackingVariable.markPassedToOutside(BlockScope scope, Expression expression, FlowInfo flowInfo, boolean owned)
          Mark that this resource is passed to some outside code (as argument to a method/ctor call or as a return value from the current method), and thus should be considered as potentially closed.
 

Methods in org.eclipse.jdt.internal.compiler.ast with parameters of type FlowInfo
protected  void Statement.analyseArguments(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, MethodBinding methodBinding, Expression[] arguments)
          Analysing arguments of MessageSend, ExplicitConstructorCall, AllocationExpression.
 FlowInfo FieldReference.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 SingleNameReference.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 ArrayReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean compoundAssignment)
           
 FlowInfo ThisReference.analyseAssignment(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound)
           
static void FakedTrackingVariable.analyseCloseableAllocation(BlockScope scope, FlowInfo flowInfo, AllocationExpression allocation)
          Compute/assign a tracking variable for a freshly allocated closeable value, using information from our white lists.
 FlowInfo Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BreakStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ClassLiteralAccess.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CaseStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TypeDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local innertype
 FlowInfo ForStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo InstanceOfExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ConditionalExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ForeachStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo TryStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AND_AND_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ExplicitConstructorCall.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Reference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo BinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EqualExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedAllocationExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo IfStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo OR_OR_Expression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo WhileStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo EmptyStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Literal.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SynchronizedStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CompoundAssignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo SwitchStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
abstract  FlowInfo Statement.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 LabeledStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo LocalDeclaration.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ArrayInitializer.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ContinueStatement.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 ArrayReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CombinedBinaryExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Block.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo AssertStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Assignment.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo CastExpression.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo DoStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo ThrowStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo MessageSend.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
           
 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 QualifiedThisReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo FieldReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo SuperReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo SingleNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 FlowInfo QualifiedNameReference.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired)
           
 void TypeDeclaration.analyseCode(ClassScope currentScope, FlowContext flowContext, FlowInfo flowInfo)
          Flow analysis for a local member innertype
 void MethodDeclaration.analyseCode(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo)
           
 void Clinit.analyseCode(ClassScope classScope, InitializationFlowContext staticInitializerFlowContext, FlowInfo flowInfo)
           
 void ConstructorDeclaration.analyseCode(ClassScope classScope, InitializationFlowContext initializerFlowContext, FlowInfo flowInfo, int initialReachMode)
          The flowInfo corresponds to non-static field initialization infos.
 FlowInfo FieldDeclaration.analyseCode(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo)
           
 FlowInfo Initializer.analyseCode(MethodScope currentScope, 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 MessageSend.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo)
           
 void QualifiedNameReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, boolean checkString)
           
 int EmptyStatement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, int complaintLevel, boolean endOfBlock)
           
 int Statement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, int previousComplaintLevel, boolean endOfBlock)
           
 int FakedTrackingVariable.findMostSpecificStatus(FlowInfo flowInfo, BlockScope currentScope, BlockScope locationScope)
           
static void FakedTrackingVariable.handleResourceAssignment(BlockScope scope, FlowInfo upstreamInfo, FlowInfo flowInfo, ASTNode location, Expression rhs, LocalVariableBinding local)
          Check if the rhs of an assignment or local declaration is an (Auto)Closeable.
 boolean FakedTrackingVariable.hasDefinitelyNoResource(FlowInfo flowInfo)
          Answer true if we know for sure that no resource is bound to this variable at the point of 'flowInfo'.
 void TypeDeclaration.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void QualifiedAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void SingleNameReference.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void QualifiedNameReference.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, int index, FlowInfo flowInfo)
          index is <0 to denote write access emulation
 void ExplicitConstructorCall.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void AllocationExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void AssertStatement.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void MessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo)
           
 void FieldReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 void SingleNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess)
           
 void FakedTrackingVariable.markClose(FlowInfo flowInfo, FlowContext flowContext)
          Mark that this resource is closed locally.
static FlowInfo FakedTrackingVariable.markPassedToOutside(BlockScope scope, Expression expression, FlowInfo flowInfo, boolean owned)
          Mark that this resource is passed to some outside code (as argument to a method/ctor call or as a return value from the current method), and thus should be considered as potentially closed.
 int Expression.nullStatus(FlowInfo flowInfo)
           
 int ConditionalExpression.nullStatus(FlowInfo flowInfo)
           
 int FieldReference.nullStatus(FlowInfo flowInfo)
           
 int SingleNameReference.nullStatus(FlowInfo flowInfo)
           
 int CompoundAssignment.nullStatus(FlowInfo flowInfo)
           
 int NullLiteral.nullStatus(FlowInfo flowInfo)
           
 int QualifiedNameReference.nullStatus(FlowInfo flowInfo)
           
 int OperatorExpression.nullStatus(FlowInfo flowInfo)
           
 int ArrayReference.nullStatus(FlowInfo flowInfo)
           
 int ThisReference.nullStatus(FlowInfo flowInfo)
           
 int Assignment.nullStatus(FlowInfo flowInfo)
           
 int CastExpression.nullStatus(FlowInfo flowInfo)
           
 int MessageSend.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 InitializationFlowContext.initsBeforeContext
           
 FlowInfo ConditionalFlowInfo.initsWhenFalse
           
 FlowInfo ConditionalFlowInfo.initsWhenTrue
           
 

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

Methods in org.eclipse.jdt.internal.compiler.flow with parameters of type FlowInfo
 FlowInfo UnconditionalFlowInfo.addInitializationsFrom(FlowInfo inits)
           
 FlowInfo ConditionalFlowInfo.addInitializationsFrom(FlowInfo otherInits)
           
abstract  FlowInfo FlowInfo.addInitializationsFrom(FlowInfo otherInits)
          Add other inits to this flow info, then return this.
 FlowInfo UnconditionalFlowInfo.addNullInfoFrom(FlowInfo inits)
           
 FlowInfo ConditionalFlowInfo.addNullInfoFrom(FlowInfo otherInits)
           
abstract  FlowInfo FlowInfo.addNullInfoFrom(FlowInfo otherInits)
          Add all null information from otherInits to this flow info and return this.
 FlowInfo UnconditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo inits)
           
 FlowInfo ConditionalFlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
           
abstract  FlowInfo FlowInfo.addPotentialInitializationsFrom(FlowInfo otherInits)
          Compose other inits over this flow info, then return this.
 void FlowContext.checkExceptionHandlers(TypeBinding[] raisedExceptions, ASTNode location, FlowInfo flowInfo, BlockScope scope)
           
 void FlowContext.checkExceptionHandlers(TypeBinding raisedException, ASTNode location, FlowInfo flowInfo, BlockScope scope)
           
 void FlowContext.checkExceptionHandlers(TypeBinding raisedException, ASTNode location, FlowInfo flowInfo, BlockScope scope, boolean isExceptionOnAutoClose)
           
 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)
           
 FlowInfo FlowContext.getInitsForFinalBlankInitializationCheck(TypeBinding declaringType, FlowInfo flowInfo)
           
static UnconditionalFlowInfo FlowInfo.mergedOptimizedBranches(FlowInfo initsWhenTrue, boolean isOptimizedTrue, FlowInfo initsWhenFalse, boolean isOptimizedFalse, boolean allowFakeDeadBranch)
          Merge branches using optimized boolean conditions
static UnconditionalFlowInfo FlowInfo.mergedOptimizedBranchesIfElse(FlowInfo initsWhenTrue, boolean isOptimizedTrue, FlowInfo initsWhenFalse, boolean isOptimizedFalse, boolean allowFakeDeadBranch, FlowInfo flowInfo, IfStatement ifStatement, boolean reportDeadCodeInKnownPattern)
          Merge if-else 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 FlowContext.recordBreakFrom(FlowInfo flowInfo)
           
 void SwitchFlowContext.recordBreakFrom(FlowInfo flowInfo)
           
 void FlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo)
           
 void LoopingFlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo)
           
 boolean FlowContext.recordExitAgainstResource(BlockScope scope, FlowInfo flowInfo, FakedTrackingVariable trackingVar, ASTNode reference)
          Record that we found an early exit from a method while a resource is in scope.
 boolean LoopingFlowContext.recordExitAgainstResource(BlockScope scope, FlowInfo flowInfo, FakedTrackingVariable trackingVar, ASTNode reference)
          Record the fact that we see an early exit (in 'reference') while 'trackingVar' is in scope and may be unclosed.
 void FlowContext.recordSettingFinal(VariableBinding variable, Reference finalReference, FlowInfo flowInfo)
           
 void FlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, ASTNode location, int checkType, FlowInfo flowInfo)
          Record a null reference for use by deferred checks.
 void FinallyFlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, ASTNode location, int checkType, FlowInfo flowInfo)
           
 void LoopingFlowContext.recordUsingNullReference(Scope scope, LocalVariableBinding local, ASTNode location, int checkType, FlowInfo flowInfo)
           
 void LoopingFlowContext.simulateThrowAfterLoopBack(FlowInfo flowInfo)
           
 

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

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

Fields in org.eclipse.jdt.internal.compiler.lookup declared as FlowInfo
 FlowInfo BlockScope.finallyInfo
          Used only during analyseCode and only for checking if a resource was closed in a finallyBlock.
 

Methods in org.eclipse.jdt.internal.compiler.lookup with parameters of type FlowInfo
 void BlockScope.checkUnclosedCloseables(FlowInfo flowInfo, FlowContext flowContext, ASTNode location, BlockScope locationScope)
          At the end of a block check the closing-status of all tracked closeables that are declared in this block.
 void BlockScope.correlateTrackingVarsIfElse(FlowInfo thenFlowInfo, FlowInfo elseFlowInfo)
          If one branch of an if-else closes any AutoCloseable resource, and if the same resource is known to be null on the other branch mark it as closed, too, so that merging both branches indicates that the resource is always closed.
 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, 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)