Verwendungen von Klasse
org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowContext
Package
Beschreibung
-
Verwendungen von FlowContext in org.aspectj.ajdt.internal.compiler.ast
Modifizierer und TypMethodeBeschreibungvoid
DeclareAnnotationDeclaration.analyseCode
(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo) void
InterTypeMethodDeclaration.analyseCode
(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.codeassist.complete
Modifizierer und TypMethodeBeschreibungCompletionOnBreakStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CompletionOnContinueStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.compiler.ast
Modifizierer und TypMethodeBeschreibungprotected void
Statement.analyseArguments
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, MethodBinding methodBinding, Expression[] arguments) Analysing arguments of MessageSend, ExplicitConstructorCall, AllocationExpression.ArrayReference.analyseAssignment
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean compoundAssignment) FieldReference.analyseAssignment
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound) QualifiedNameReference.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) SingleNameReference.analyseAssignment
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound) ThisReference.analyseAssignment
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, Assignment assignment, boolean isCompound) AbstractVariableDeclaration.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) AllocationExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) AND_AND_Expression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ArrayAllocationExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ArrayInitializer.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ArrayReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) AssertStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Assignment.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) BinaryExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Block.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) BreakStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CaseStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CastExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ClassLiteralAccess.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CombinedBinaryExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CompoundAssignment.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ConditionalExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ContinueStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) DoStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) EmptyStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) EqualExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ExplicitConstructorCall.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Expression.analyseCode
(BlockScope currentScope, FlowContext flowContext, 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.FieldDeclaration.analyseCode
(MethodScope initializationScope, FlowContext flowContext, FlowInfo flowInfo) FieldReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) FieldReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) ForeachStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ForStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) GuardedPattern.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) IfStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Initializer.analyseCode
(MethodScope currentScope, FlowContext flowContext, FlowInfo flowInfo) InstanceOfExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) LabeledStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) LambdaExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Literal.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) LocalDeclaration.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) MessageSend.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) void
MethodDeclaration.analyseCode
(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo) OR_OR_Expression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) QualifiedAllocationExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) QualifiedNameReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) QualifiedNameReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) QualifiedThisReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) QualifiedThisReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) RecordComponent.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) RecordPattern.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Reference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ReferenceExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ReturnStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) SingleNameReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) SingleNameReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo, boolean valueRequired) abstract FlowInfo
Statement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) StringTemplate.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) SwitchExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) SwitchStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) SynchronizedStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) TemplateExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) ThrowStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) TryStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) TypeDeclaration.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Flow analysis for a local innertypevoid
TypeDeclaration.analyseCode
(ClassScope currentScope, FlowContext flowContext, FlowInfo flowInfo) Flow analysis for a local member innertypeTypePattern.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) TypeReference.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) UnaryExpression.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) WhileStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) YieldStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) protected void
Statement.checkAgainstNullTypeAnnotation
(BlockScope scope, TypeBinding requiredType, Expression expression, FlowContext flowContext, FlowInfo flowInfo) protected void
CompactConstructorDeclaration.checkAndGenerateFieldAssignment
(FlowContext flowContext, FlowInfo flowInfo, FieldBinding[] fields) protected void
ConstructorDeclaration.checkAndGenerateFieldAssignment
(FlowContext flowContext, FlowInfo flowInfo, FieldBinding[] fields) static int
NullAnnotationMatching.checkAssignment
(BlockScope currentScope, FlowContext flowContext, VariableBinding var, FlowInfo flowInfo, int nullStatus, Expression expression, TypeBinding providedType) Check null-ness of 'var' against a possible null annotationboolean
ArrayReference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
CastExpression.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
ConditionalExpression.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
Expression.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo) boolean
Expression.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) Check this expression against potential NPEs, which may occur: if the expression is the receiver in a field access, qualified allocation, array reference or message send incl. implicit message sends like it happens for the collection in a foreach statement. if the expression is subject to unboxing if the expression is the exception in a throw statement If a risk of NPE is detected report it to the context.boolean
FieldReference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
MessageSend.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
QualifiedNameReference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
Reference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
SingleNameReference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
SwitchExpression.checkNPE
(BlockScope skope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) boolean
ThisReference.checkNPE
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) protected void
Expression.checkNPEbyUnboxing
(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo) If this expression requires unboxing check if that operation can throw NPE.protected boolean
Reference.checkNullableFieldDereference
(Scope scope, FieldBinding field, long sourcePosition, FlowContext flowContext, int ttlForFieldCheck) static FakedTrackingVariable
FakedTrackingVariable.getCloseTrackingVariable
(Expression expression, FlowInfo flowInfo, FlowContext flowContext) If expression resolves to a value of type AutoCloseable answer the variable that tracks closing of that local.static void
FakedTrackingVariable.handleResourceAssignment
(BlockScope scope, FlowInfo upstreamInfo, FlowInfo flowInfo, FlowContext flowContext, ASTNode location, Expression rhs, LocalVariableBinding local) Given the rhs of an assignment or local declaration has a (Auto)Closeable type (or null), setup for leak analysis now: Create or re-use a tracking variable, and wire and initialize everything.void
FakedTrackingVariable.markClose
(FlowInfo flowInfo, FlowContext flowContext) Mark that this resource is closed locally.static FlowInfo
FakedTrackingVariable.markPassedToOutside
(BlockScope scope, Expression expression, FlowInfo flowInfo, FlowContext flowContext, 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
ArrayReference.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
Assignment.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
CastExpression.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
CompoundAssignment.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
ConditionalExpression.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
Expression.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
MessageSend.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
NullLiteral.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
Reference.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
SingleNameReference.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
SwitchExpression.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) int
ThisReference.nullStatus
(FlowInfo flowInfo, FlowContext flowContext) void
EqualExpression.syntacticFieldAnalysisForFalseBranch
(FlowInfo flowInfo, FlowContext flowContext) ModifiziererKonstruktorBeschreibungFakedTrackingVariable
(LocalVariableBinding original, ASTNode location, FlowInfo flowInfo, FlowContext flowContext, int nullStatus) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.compiler.flow
Modifizierer und TypKlasseBeschreibungclass
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
For instances of this class,getInitsForFinalBlankInitializationCheck(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding, FlowInfo)
will returns aFlowInfo.DEAD_END
, which for whichFlowInfo.isDefinitelyAssigned(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding)
returns true for all fields.class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Reflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...class
Shared implementation for try-statement-related flow contexts.Modifizierer und TypFeldBeschreibungExceptionHandlingFlowContext.initializationParent
static final FlowContext
FlowContext.NonLocalGotoThroughSwitchContext
static final FlowContext
FlowContext.NotContinuableContext
TryFlowContext.outerTryContext
For a try statement nested inside a finally block this reference points to the flow context of the outer try block, for access to its initsOnFinally.FlowContext.parent
FinallyFlowContext.tryContext
Modifizierer und TypMethodeBeschreibungExceptionHandlingFlowContext.getInitializationContext()
FlowContext.getInitializationContext()
Answer flow context that corresponds to initialization.InitializationFlowContext.getInitializationContext()
FlowContext.getLocalParent()
Answer the parent flow context but be careful not to cross the boundary of a nested type, or null if no such parent exists.FlowContext.getTargetContextForBreakLabel
(char[] labelName) FlowContext.getTargetContextForContinueLabel
(char[] labelName) FlowContext.getTargetContextForDefaultBreak()
FlowContext.getTargetContextForDefaultContinue()
FlowContext.getTargetContextForYield
(boolean requireExpression) Modifizierer und TypMethodeBeschreibungvoid
InitializationFlowContext.checkInitializerExceptions
(BlockScope currentScope, FlowContext initializerContext, FlowInfo flowInfo) void
FlowContext.copyNullCheckedFieldsFrom
(FlowContext other) void
FlowContext.recordBreakTo
(FlowContext targetContext) void
LoopingFlowContext.recordBreakTo
(FlowContext targetContext) void
FlowContext.recordContinueFrom
(FlowContext innerFlowContext, FlowInfo flowInfo) void
LoopingFlowContext.recordContinueFrom
(FlowContext innerFlowContext, FlowInfo flowInfo) ModifiziererKonstruktorBeschreibungExceptionHandlingFlowContext
(FlowContext parent, ASTNode associatedNode, ReferenceBinding[] handledExceptions, FlowContext initializationParent, BlockScope scope, UnconditionalFlowInfo flowInfo) ExceptionHandlingFlowContext
(FlowContext parent, TryStatement tryStatement, ReferenceBinding[] handledExceptions, int[] exceptionToCatchBlockMap, FlowContext initializationParent, BlockScope scope, FlowInfo flowInfo) ExceptionInferenceFlowContext
(FlowContext parent, ASTNode associatedNode, ReferenceBinding[] handledExceptions, FlowContext initializationParent, BlockScope scope, UnconditionalFlowInfo flowInfo) FieldInitsFakingFlowContext
(FlowContext parent, ASTNode associatedNode, ReferenceBinding[] handledExceptions, FlowContext initializationParent, BlockScope scope, UnconditionalFlowInfo flowInfo) FinallyFlowContext
(FlowContext parent, ASTNode associatedNode, ExceptionHandlingFlowContext tryContext) FlowContext
(FlowContext parent, ASTNode associatedNode, boolean inheritNullFieldChecks) InitializationFlowContext
(FlowContext parent, ASTNode associatedNode, FlowInfo initsBeforeContext, FlowContext initializationParent, BlockScope scope) InsideSubRoutineFlowContext
(FlowContext parent, ASTNode associatedNode) LabelFlowContext
(FlowContext parent, ASTNode associatedNode, char[] labelName, BranchLabel breakLabel, BlockScope scope) LoopingFlowContext
(FlowContext parent, FlowInfo upstreamNullFlowInfo, ASTNode associatedNode, BranchLabel breakLabel, BranchLabel continueLabel, Scope associatedScope, boolean isPreTest) SwitchFlowContext
(FlowContext parent, ASTNode associatedNode, BranchLabel breakLabel, boolean isPreTest, boolean inheritNullFieldChecks) TryFlowContext
(FlowContext parent, ASTNode associatedNode) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.compiler.lookup
Modifizierer und TypMethodeBeschreibungvoid
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. -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.eval
Modifizierer und TypMethodeBeschreibungCodeSnippetReturnStatement.analyseCode
(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)