Verwendungen von Klasse
org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowContext
Packages, die FlowContext verwenden
Package
Beschreibung
-
Verwendungen von FlowContext in org.aspectj.ajdt.internal.compiler.ast
Methoden in org.aspectj.ajdt.internal.compiler.ast mit Parametern vom Typ FlowContextModifizierer und TypMethodeBeschreibungvoidDeclareAnnotationDeclaration.analyseCode(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo) voidInterTypeMethodDeclaration.analyseCode(ClassScope classScope, FlowContext flowContext, FlowInfo flowInfo) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.codeassist.complete
Methoden in org.aspectj.org.eclipse.jdt.internal.codeassist.complete mit Parametern vom Typ FlowContextModifizierer 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
Methoden in org.aspectj.org.eclipse.jdt.internal.compiler.ast mit Parametern vom Typ FlowContextModifizierer und TypMethodeBeschreibungprotected voidStatement.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 FlowInfoReference.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) voidMethodDeclaration.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 FlowInfoStatement.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) 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 innertypevoidTypeDeclaration.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 voidStatement.checkAgainstNullTypeAnnotation(BlockScope scope, TypeBinding requiredType, Expression expression, FlowContext flowContext, FlowInfo flowInfo) protected voidCompactConstructorDeclaration.checkAndGenerateFieldAssignment(FlowContext flowContext, FlowInfo flowInfo, FieldBinding[] fields) protected voidConstructorDeclaration.checkAndGenerateFieldAssignment(FlowContext flowContext, FlowInfo flowInfo, FieldBinding[] fields) static intNullAnnotationMatching.checkAssignment(BlockScope currentScope, FlowContext flowContext, VariableBinding var, FlowInfo flowInfo, int nullStatus, Expression expression, TypeBinding providedType) Check null-ness of 'var' against a possible null annotationbooleanArrayReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanCastExpression.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanConditionalExpression.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanExpression.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo) booleanExpression.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.booleanFieldReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanMessageSend.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanQualifiedNameReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanSingleNameReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanSwitchExpression.checkNPE(BlockScope skope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) booleanThisReference.checkNPE(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo, int ttlForFieldCheck) protected voidExpression.checkNPEbyUnboxing(BlockScope scope, FlowContext flowContext, FlowInfo flowInfo) If this expression requires unboxing check if that operation can throw NPE.protected booleanReference.checkNullableFieldDereference(Scope scope, FieldBinding field, long sourcePosition, FlowContext flowContext, int ttlForFieldCheck) static FakedTrackingVariableFakedTrackingVariable.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 voidFakedTrackingVariable.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.voidFakedTrackingVariable.markClose(FlowInfo flowInfo, FlowContext flowContext) Mark that this resource is closed locally.static FlowInfoFakedTrackingVariable.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.intArrayReference.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intAssignment.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intCastExpression.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intCompoundAssignment.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intConditionalExpression.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intExpression.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intMessageSend.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intNullLiteral.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intReference.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intSingleNameReference.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intSwitchExpression.nullStatus(FlowInfo flowInfo, FlowContext flowContext) intThisReference.nullStatus(FlowInfo flowInfo, FlowContext flowContext) Konstruktoren in org.aspectj.org.eclipse.jdt.internal.compiler.ast mit Parametern vom Typ FlowContextModifiziererKonstruktorBeschreibungFakedTrackingVariable(LocalVariableBinding original, ASTNode location, FlowInfo flowInfo, FlowContext flowContext, int nullStatus) -
Verwendungen von FlowContext in org.aspectj.org.eclipse.jdt.internal.compiler.flow
Unterklassen von FlowContext in org.aspectj.org.eclipse.jdt.internal.compiler.flowModifizierer und TypKlasseBeschreibungclassReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classFor 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.classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classReflects the context of code analysis, keeping track of enclosing try statements, exception handlers, etc...classShared implementation for try-statement-related flow contexts.Felder in org.aspectj.org.eclipse.jdt.internal.compiler.flow, die deklariert sind als FlowContextModifizierer und TypFeldBeschreibungExceptionHandlingFlowContext.initializationParentstatic final FlowContextFlowContext.NotContinuableContextTryFlowContext.outerTryContextFor 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.parentFinallyFlowContext.tryContextMethoden in org.aspectj.org.eclipse.jdt.internal.compiler.flow, die FlowContext zurückgebenModifizierer 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.getTargetContextForDefaultYield()Methoden in org.aspectj.org.eclipse.jdt.internal.compiler.flow mit Parametern vom Typ FlowContextModifizierer und TypMethodeBeschreibungvoidInitializationFlowContext.checkInitializerExceptions(BlockScope currentScope, FlowContext initializerContext, FlowInfo flowInfo) voidFlowContext.copyNullCheckedFieldsFrom(FlowContext other) voidFlowContext.recordBreakTo(FlowContext targetContext) voidLoopingFlowContext.recordBreakTo(FlowContext targetContext) voidFlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo) voidLoopingFlowContext.recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo) Konstruktoren in org.aspectj.org.eclipse.jdt.internal.compiler.flow mit Parametern vom Typ FlowContextModifiziererKonstruktorBeschreibungExceptionHandlingFlowContext(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
Methoden in org.aspectj.org.eclipse.jdt.internal.compiler.lookup mit Parametern vom Typ FlowContextModifizierer und TypMethodeBeschreibungvoidBlockScope.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
Methoden in org.aspectj.org.eclipse.jdt.internal.eval mit Parametern vom Typ FlowContextModifizierer und TypMethodeBeschreibungCodeSnippetReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo)