Uses of Class
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope
Packages that use BlockScope
Package
Description
-
Uses of BlockScope in org.aspectj.ajdt.internal.compiler.ast
Methods in org.aspectj.ajdt.internal.compiler.ast with parameters of type BlockScopeModifier and TypeMethodDescriptionstatic voidAtAspectJAnnotationFactory.addAnnotation(AjMethodDeclaration decl, Annotation annotation, BlockScope scope) voidAccessForInlineVisitor.endVisit(AllocationExpression send, BlockScope scope) voidAccessForInlineVisitor.endVisit(AssertStatement assertStatement, BlockScope scope) voidAccessForInlineVisitor.endVisit(ClassLiteralAccess classLiteral, BlockScope scope) voidAccessForInlineVisitor.endVisit(FieldReference ref, BlockScope scope) voidAccessForInlineVisitor.endVisit(MessageSend send, BlockScope scope) voidAccessForInlineVisitor.endVisit(QualifiedNameReference ref, BlockScope scope) voidAccessForInlineVisitor.endVisit(QualifiedTypeReference ref, BlockScope scope) voidAccessForInlineVisitor.endVisit(SingleNameReference ref, BlockScope scope) voidAccessForInlineVisitor.endVisit(SingleTypeReference ref, BlockScope scope) voidInterSuperFixerVisitor.endVisit(FieldReference ref, BlockScope scope) voidInterSuperFixerVisitor.endVisit(MessageSend send, BlockScope scope) voidInterSuperFixerVisitor.endVisit(TypeDeclaration localTypeDeclaration, BlockScope scope) voidMakeDeclsPublicVisitor.endVisit(TypeDeclaration localTypeDeclaration, BlockScope scope) voidProceedVisitor.endVisit(SingleNameReference ref, BlockScope scope) voidSuperFixerVisitor.endVisit(MessageSend call, BlockScope scope) voidSuperFixerVisitor.endVisit(TypeDeclaration localTypeDeclaration, BlockScope scope) voidThisJoinPointVisitor.endVisit(SingleNameReference ref, BlockScope scope) voidValidateAtAspectJAnnotationsVisitor.endVisit(TypeDeclaration localTypeDeclaration, BlockScope scope) voidKnownMessageSend.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidKnownMessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope) voidIntertypeMemberClassDeclaration.resolve(BlockScope blockScope) protected voidKnownMessageSend.resolveMethodBinding(BlockScope scope, TypeBinding[] argumentTypes) InterSuperReference.resolveType(BlockScope scope) KnownFieldReference.resolveType(BlockScope scope) Proceed.resolveType(BlockScope scope) booleanAccessForInlineVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanAddAtAspectJAnnotationsVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanInterSuperFixerVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanProceedVisitor.visit(MessageSend call, BlockScope scope) booleanSuperFixerVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanThisJoinPointVisitor.visit(MessageSend call, BlockScope scope) booleanValidateAtAspectJAnnotationsVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) -
Uses of BlockScope in org.aspectj.ajdt.internal.core.builder
Methods in org.aspectj.ajdt.internal.core.builder with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidAsmHierarchyBuilder.endVisit(TypeDeclaration memberTypeDeclaration, BlockScope scope) booleanAsmHierarchyBuilder.visit(TypeDeclaration memberTypeDeclaration, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.codeassist
Methods in org.aspectj.org.eclipse.jdt.internal.codeassist with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidThrownExceptionFinder.endVisit(AllocationExpression allocationExpression, BlockScope scope) voidThrownExceptionFinder.endVisit(MessageSend messageSend, BlockScope scope) voidThrownExceptionFinder.endVisit(ThrowStatement throwStatement, BlockScope scope) voidUnresolvedReferenceNameFinder.endVisit(Argument argument, BlockScope blockScope) voidUnresolvedReferenceNameFinder.endVisit(Block block, BlockScope blockScope) voidUnresolvedReferenceNameFinder.endVisit(LocalDeclaration localDeclaration, BlockScope blockScope) voidUnresolvedReferenceNameFinder.endVisit(TypeDeclaration typeDeclaration, BlockScope blockScope) voidThrownExceptionFinder.processThrownExceptions(TryStatement tryStatement, BlockScope scope) Finds the thrown exceptions minus the ones that are already caught in previous catch blocks.booleanThrownExceptionFinder.visit(TryStatement tryStatement, BlockScope scope) booleanThrownExceptionFinder.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanUnresolvedReferenceNameFinder.visit(Block block, BlockScope blockScope) booleanUnresolvedReferenceNameFinder.visit(TypeDeclaration localTypeDeclaration, BlockScope blockScope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.codeassist.complete
Methods in org.aspectj.org.eclipse.jdt.internal.codeassist.complete with parameters of type BlockScopeModifier and TypeMethodDescriptionCompletionOnBreakStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) CompletionOnContinueStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) voidCompletionNodeDetector.endVisit(AllocationExpression allocationExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(AND_AND_Expression and_and_Expression, BlockScope scope) voidCompletionNodeDetector.endVisit(ArrayAllocationExpression arrayAllocationExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(ArrayInitializer arrayInitializer, BlockScope scope) voidCompletionNodeDetector.endVisit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(ArrayReference arrayReference, BlockScope scope) voidCompletionNodeDetector.endVisit(ArrayTypeReference arrayTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(Assignment assignment, BlockScope scope) voidCompletionNodeDetector.endVisit(BinaryExpression binaryExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(CastExpression castExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(CompoundAssignment compoundAssignment, BlockScope scope) voidCompletionNodeDetector.endVisit(ConditionalExpression conditionalExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(EqualExpression equalExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(ExplicitConstructorCall explicitConstructor, BlockScope scope) voidCompletionNodeDetector.endVisit(FieldReference fieldReference, BlockScope scope) voidCompletionNodeDetector.endVisit(GuardedPattern guardedPattern, BlockScope scope) voidCompletionNodeDetector.endVisit(IfStatement ifStatement, BlockScope scope) voidCompletionNodeDetector.endVisit(InstanceOfExpression instanceOfExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(LambdaExpression lambda, BlockScope scope) voidCompletionNodeDetector.endVisit(LocalDeclaration localDeclaration, BlockScope scope) voidCompletionNodeDetector.endVisit(MemberValuePair pair, BlockScope scope) voidCompletionNodeDetector.endVisit(MessageSend messageSend, BlockScope scope) voidCompletionNodeDetector.endVisit(OR_OR_Expression or_or_Expression, BlockScope scope) voidCompletionNodeDetector.endVisit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(PostfixExpression postfixExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(PrefixExpression prefixExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(QualifiedAllocationExpression qualifiedAllocationExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(QualifiedNameReference qualifiedNameReference, BlockScope scope) voidCompletionNodeDetector.endVisit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) voidCompletionNodeDetector.endVisit(QualifiedThisReference qualifiedThisReference, BlockScope scope) voidCompletionNodeDetector.endVisit(QualifiedTypeReference qualifiedTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(ReferenceExpression referenceExpression, BlockScope blockScope) voidCompletionNodeDetector.endVisit(ReturnStatement returnStatement, BlockScope scope) voidCompletionNodeDetector.endVisit(SingleNameReference singleNameReference, BlockScope scope) voidCompletionNodeDetector.endVisit(SingleTypeReference singleTypeReference, BlockScope scope) voidCompletionNodeDetector.endVisit(SuperReference superReference, BlockScope scope) voidCompletionNodeDetector.endVisit(SwitchExpression switchExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(SwitchStatement switchStatement, BlockScope scope) voidCompletionNodeDetector.endVisit(ThisReference thisReference, BlockScope scope) voidCompletionNodeDetector.endVisit(UnaryExpression unaryExpression, BlockScope scope) voidCompletionNodeDetector.endVisit(WhileStatement whileStatement, BlockScope scope) CompletionOnJavadocParamNameReference.reportError(BlockScope scope) CompletionOnJavadocTypeParamReference.reportError(BlockScope scope) voidCompletionOnArgumentName.resolve(BlockScope scope) voidCompletionOnBreakStatement.resolve(BlockScope scope) voidCompletionOnContinueStatement.resolve(BlockScope scope) voidCompletionOnExplicitConstructorCall.resolve(BlockScope scope) voidCompletionOnLocalName.resolve(BlockScope scope) voidCompletionOnLocalName.resolve(BlockScope scope, boolean isPatternVariable) voidCompletionOnRecordComponentName.resolve(BlockScope scope) CompletionOnAnnotationMemberValuePair.resolveType(BlockScope scope) CompletionOnClassLiteralAccess.resolveType(BlockScope scope) CompletionOnKeyword3.resolveType(BlockScope scope) CompletionOnMarkerAnnotationName.resolveType(BlockScope scope) CompletionOnMemberAccess.resolveType(BlockScope scope) CompletionOnMessageSend.resolveType(BlockScope scope) CompletionOnMessageSendName.resolveType(BlockScope scope) CompletionOnParameterizedQualifiedTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) CompletionOnQualifiedAllocationExpression.resolveType(BlockScope scope) CompletionOnQualifiedNameReference.resolveType(BlockScope scope) CompletionOnReferenceExpressionName.resolveType(BlockScope scope) CompletionOnSingleNameReference.resolveType(BlockScope scope) CompletionOnStringLiteral.resolveType(BlockScope scope) CompletionOnSingleTypeReference.resolveTypeEnclosing(BlockScope scope, ReferenceBinding enclosingType) voidCompletionOnAnnotationMemberValuePair.traverse(ASTVisitor visitor, BlockScope scope) booleanCompletionNodeDetector.visit(AllocationExpression allocationExpression, BlockScope scope) booleanCompletionNodeDetector.visit(AND_AND_Expression and_and_Expression, BlockScope scope) booleanCompletionNodeDetector.visit(ArrayAllocationExpression arrayAllocationExpression, BlockScope scope) booleanCompletionNodeDetector.visit(ArrayInitializer arrayInitializer, BlockScope scope) booleanCompletionNodeDetector.visit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(ArrayReference arrayReference, BlockScope scope) booleanCompletionNodeDetector.visit(ArrayTypeReference arrayTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(Assignment assignment, BlockScope scope) booleanCompletionNodeDetector.visit(BinaryExpression binaryExpression, BlockScope scope) booleanCompletionNodeDetector.visit(CastExpression castExpression, BlockScope scope) booleanCompletionNodeDetector.visit(CompoundAssignment compoundAssignment, BlockScope scope) booleanCompletionNodeDetector.visit(ConditionalExpression conditionalExpression, BlockScope scope) booleanCompletionNodeDetector.visit(EqualExpression equalExpression, BlockScope scope) booleanCompletionNodeDetector.visit(ExplicitConstructorCall explicitConstructor, BlockScope scope) booleanCompletionNodeDetector.visit(FieldReference fieldReference, BlockScope scope) booleanCompletionNodeDetector.visit(GuardedPattern guardedPattern, BlockScope scope) booleanCompletionNodeDetector.visit(IfStatement ifStatement, BlockScope scope) booleanCompletionNodeDetector.visit(InstanceOfExpression instanceOfExpression, BlockScope scope) booleanCompletionNodeDetector.visit(LocalDeclaration localDeclaration, BlockScope scope) booleanCompletionNodeDetector.visit(MemberValuePair pair, BlockScope scope) booleanCompletionNodeDetector.visit(MessageSend messageSend, BlockScope scope) booleanCompletionNodeDetector.visit(OR_OR_Expression or_or_Expression, BlockScope scope) booleanCompletionNodeDetector.visit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(PostfixExpression postfixExpression, BlockScope scope) booleanCompletionNodeDetector.visit(PrefixExpression prefixExpression, BlockScope scope) booleanCompletionNodeDetector.visit(QualifiedAllocationExpression qualifiedAllocationExpression, BlockScope scope) booleanCompletionNodeDetector.visit(QualifiedNameReference qualifiedNameReference, BlockScope scope) booleanCompletionNodeDetector.visit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) booleanCompletionNodeDetector.visit(QualifiedThisReference qualifiedThisReference, BlockScope scope) booleanCompletionNodeDetector.visit(QualifiedTypeReference qualifiedTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(ReferenceExpression referenceExpression, BlockScope blockScope) booleanCompletionNodeDetector.visit(ReturnStatement returnStatement, BlockScope scope) booleanCompletionNodeDetector.visit(SingleNameReference singleNameReference, BlockScope scope) booleanCompletionNodeDetector.visit(SingleTypeReference singleTypeReference, BlockScope scope) booleanCompletionNodeDetector.visit(StringLiteral stringLiteral, BlockScope scope) booleanCompletionNodeDetector.visit(SuperReference superReference, BlockScope scope) booleanCompletionNodeDetector.visit(SwitchExpression switchExpression, BlockScope blockScope) booleanCompletionNodeDetector.visit(SwitchStatement switchStatement, BlockScope blockScope) booleanCompletionNodeDetector.visit(ThisReference thisReference, BlockScope scope) booleanCompletionNodeDetector.visit(UnaryExpression unaryExpression, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.codeassist.select
Methods in org.aspectj.org.eclipse.jdt.internal.codeassist.select with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidSelectionOnArgumentName.resolve(BlockScope scope) voidSelectionOnExplicitConstructorCall.resolve(BlockScope scope) voidSelectionOnLocalName.resolve(BlockScope scope) SelectionOnArgumentName.resolveForCatch(BlockScope scope) SelectionOnFieldReference.resolveType(BlockScope scope) SelectionOnLambdaExpression.resolveType(BlockScope blockScope, boolean skipKosherCheck) SelectionOnMessageSend.resolveType(BlockScope scope) SelectionOnParameterizedQualifiedTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) SelectionOnParameterizedSingleTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) SelectionOnQualifiedAllocationExpression.resolveType(BlockScope scope) SelectionOnQualifiedNameReference.resolveType(BlockScope scope) SelectionOnQualifiedSuperReference.resolveType(BlockScope scope) SelectionOnReferenceExpression.resolveType(BlockScope scope) SelectionOnReferenceExpressionName.resolveType(BlockScope scope) SelectionOnSingleNameReference.resolveType(BlockScope scope) SelectionOnSuperReference.resolveType(BlockScope scope) SelectionOnSingleTypeReference.resolveTypeEnclosing(BlockScope scope, ReferenceBinding enclosingType) voidSelectionOnNameOfMemberValuePair.resolveTypeExpecting(BlockScope scope, TypeBinding requiredType) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler
Methods in org.aspectj.org.eclipse.jdt.internal.compiler with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidASTVisitor.endVisit(AllocationExpression allocationExpression, BlockScope scope) voidASTVisitor.endVisit(AND_AND_Expression and_and_Expression, BlockScope scope) voidASTVisitor.endVisit(Argument argument, BlockScope scope) voidASTVisitor.endVisit(ArrayAllocationExpression arrayAllocationExpression, BlockScope scope) voidASTVisitor.endVisit(ArrayInitializer arrayInitializer, BlockScope scope) voidASTVisitor.endVisit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope) voidASTVisitor.endVisit(ArrayReference arrayReference, BlockScope scope) voidASTVisitor.endVisit(ArrayTypeReference arrayTypeReference, BlockScope scope) voidASTVisitor.endVisit(AssertStatement assertStatement, BlockScope scope) voidASTVisitor.endVisit(Assignment assignment, BlockScope scope) voidASTVisitor.endVisit(BinaryExpression binaryExpression, BlockScope scope) voidASTVisitor.endVisit(Block block, BlockScope scope) voidASTVisitor.endVisit(BreakStatement breakStatement, BlockScope scope) voidASTVisitor.endVisit(CaseStatement caseStatement, BlockScope scope) voidASTVisitor.endVisit(CastExpression castExpression, BlockScope scope) voidASTVisitor.endVisit(CharLiteral charLiteral, BlockScope scope) voidASTVisitor.endVisit(ClassLiteralAccess classLiteral, BlockScope scope) voidASTVisitor.endVisit(CompoundAssignment compoundAssignment, BlockScope scope) voidASTVisitor.endVisit(ConditionalExpression conditionalExpression, BlockScope scope) voidASTVisitor.endVisit(ContinueStatement continueStatement, BlockScope scope) voidASTVisitor.endVisit(DoStatement doStatement, BlockScope scope) voidASTVisitor.endVisit(DoubleLiteral doubleLiteral, BlockScope scope) voidASTVisitor.endVisit(EmptyStatement emptyStatement, BlockScope scope) voidASTVisitor.endVisit(EqualExpression equalExpression, BlockScope scope) voidASTVisitor.endVisit(ExplicitConstructorCall explicitConstructor, BlockScope scope) voidASTVisitor.endVisit(ExtendedStringLiteral extendedStringLiteral, BlockScope scope) voidASTVisitor.endVisit(FakeDefaultLiteral fakeDefaultLiteral, BlockScope scope) voidASTVisitor.endVisit(FalseLiteral falseLiteral, BlockScope scope) voidASTVisitor.endVisit(FieldReference fieldReference, BlockScope scope) voidASTVisitor.endVisit(FloatLiteral floatLiteral, BlockScope scope) voidASTVisitor.endVisit(ForeachStatement forStatement, BlockScope scope) voidASTVisitor.endVisit(ForStatement forStatement, BlockScope scope) voidASTVisitor.endVisit(GuardedPattern guardedPattern, BlockScope scope) voidASTVisitor.endVisit(IfStatement ifStatement, BlockScope scope) voidASTVisitor.endVisit(InstanceOfExpression instanceOfExpression, BlockScope scope) voidASTVisitor.endVisit(IntersectionCastTypeReference intersectionCastTypeReference, BlockScope scope) voidASTVisitor.endVisit(IntLiteral intLiteral, BlockScope scope) voidASTVisitor.endVisit(JavadocAllocationExpression expression, BlockScope scope) voidASTVisitor.endVisit(JavadocArgumentExpression expression, BlockScope scope) voidASTVisitor.endVisit(JavadocArrayQualifiedTypeReference typeRef, BlockScope scope) voidASTVisitor.endVisit(JavadocArraySingleTypeReference typeRef, BlockScope scope) voidASTVisitor.endVisit(JavadocFieldReference fieldRef, BlockScope scope) voidASTVisitor.endVisit(JavadocImplicitTypeReference implicitTypeReference, BlockScope scope) voidASTVisitor.endVisit(JavadocMessageSend messageSend, BlockScope scope) voidASTVisitor.endVisit(JavadocModuleReference moduleRef, BlockScope scope) voidASTVisitor.endVisit(JavadocQualifiedTypeReference typeRef, BlockScope scope) voidASTVisitor.endVisit(JavadocReturnStatement statement, BlockScope scope) voidASTVisitor.endVisit(Javadoc javadoc, BlockScope scope) voidASTVisitor.endVisit(JavadocSingleNameReference argument, BlockScope scope) voidASTVisitor.endVisit(JavadocSingleTypeReference typeRef, BlockScope scope) voidASTVisitor.endVisit(LabeledStatement labeledStatement, BlockScope scope) voidASTVisitor.endVisit(LambdaExpression lambdaExpression, BlockScope blockScope) voidASTVisitor.endVisit(LocalDeclaration localDeclaration, BlockScope scope) voidASTVisitor.endVisit(LongLiteral longLiteral, BlockScope scope) voidASTVisitor.endVisit(MarkerAnnotation annotation, BlockScope scope) voidASTVisitor.endVisit(MemberValuePair pair, BlockScope scope) voidASTVisitor.endVisit(MessageSend messageSend, BlockScope scope) voidASTVisitor.endVisit(NormalAnnotation annotation, BlockScope scope) voidASTVisitor.endVisit(NullLiteral nullLiteral, BlockScope scope) voidASTVisitor.endVisit(OR_OR_Expression or_or_Expression, BlockScope scope) voidASTVisitor.endVisit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) voidASTVisitor.endVisit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope) voidASTVisitor.endVisit(Pattern patternExpression, BlockScope scope) voidASTVisitor.endVisit(PostfixExpression postfixExpression, BlockScope scope) voidASTVisitor.endVisit(PrefixExpression prefixExpression, BlockScope scope) voidASTVisitor.endVisit(QualifiedAllocationExpression qualifiedAllocationExpression, BlockScope scope) voidASTVisitor.endVisit(QualifiedNameReference qualifiedNameReference, BlockScope scope) voidASTVisitor.endVisit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) voidASTVisitor.endVisit(QualifiedThisReference qualifiedThisReference, BlockScope scope) voidASTVisitor.endVisit(QualifiedTypeReference qualifiedTypeReference, BlockScope scope) voidASTVisitor.endVisit(RecordComponent recordComponent, BlockScope scope) voidASTVisitor.endVisit(RecordPattern recordPattern, BlockScope scope) voidASTVisitor.endVisit(ReferenceExpression referenceExpression, BlockScope blockScope) voidASTVisitor.endVisit(ReturnStatement returnStatement, BlockScope scope) voidASTVisitor.endVisit(SingleMemberAnnotation annotation, BlockScope scope) voidASTVisitor.endVisit(SingleNameReference singleNameReference, BlockScope scope) voidASTVisitor.endVisit(SingleTypeReference singleTypeReference, BlockScope scope) voidASTVisitor.endVisit(StringLiteralConcatenation literal, BlockScope scope) voidASTVisitor.endVisit(StringLiteral stringLiteral, BlockScope scope) voidASTVisitor.endVisit(SuperReference superReference, BlockScope scope) voidASTVisitor.endVisit(SwitchExpression switchExpression, BlockScope scope) voidASTVisitor.endVisit(SwitchStatement switchStatement, BlockScope scope) voidASTVisitor.endVisit(SynchronizedStatement synchronizedStatement, BlockScope scope) voidASTVisitor.endVisit(ThisReference thisReference, BlockScope scope) voidASTVisitor.endVisit(ThrowStatement throwStatement, BlockScope scope) voidASTVisitor.endVisit(TrueLiteral trueLiteral, BlockScope scope) voidASTVisitor.endVisit(TryStatement tryStatement, BlockScope scope) voidASTVisitor.endVisit(TypeDeclaration localTypeDeclaration, BlockScope scope) voidASTVisitor.endVisit(TypeParameter typeParameter, BlockScope scope) voidASTVisitor.endVisit(TypePattern anyPattern, BlockScope scope) voidASTVisitor.endVisit(UnaryExpression unaryExpression, BlockScope scope) voidASTVisitor.endVisit(UnionTypeReference unionTypeReference, BlockScope scope) voidASTVisitor.endVisit(WhileStatement whileStatement, BlockScope scope) voidASTVisitor.endVisit(Wildcard wildcard, BlockScope scope) voidASTVisitor.endVisit(YieldStatement yieldStatement, BlockScope scope) booleanASTVisitor.visit(AllocationExpression allocationExpression, BlockScope scope) booleanASTVisitor.visit(AND_AND_Expression and_and_Expression, BlockScope scope) booleanASTVisitor.visit(Argument argument, BlockScope scope) booleanASTVisitor.visit(ArrayAllocationExpression arrayAllocationExpression, BlockScope scope) booleanASTVisitor.visit(ArrayInitializer arrayInitializer, BlockScope scope) booleanASTVisitor.visit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope) booleanASTVisitor.visit(ArrayReference arrayReference, BlockScope scope) booleanASTVisitor.visit(ArrayTypeReference arrayTypeReference, BlockScope scope) booleanASTVisitor.visit(AssertStatement assertStatement, BlockScope scope) booleanASTVisitor.visit(Assignment assignment, BlockScope scope) booleanASTVisitor.visit(BinaryExpression binaryExpression, BlockScope scope) booleanASTVisitor.visit(Block block, BlockScope scope) booleanASTVisitor.visit(BreakStatement breakStatement, BlockScope scope) booleanASTVisitor.visit(CaseStatement caseStatement, BlockScope scope) booleanASTVisitor.visit(CastExpression castExpression, BlockScope scope) booleanASTVisitor.visit(CharLiteral charLiteral, BlockScope scope) booleanASTVisitor.visit(ClassLiteralAccess classLiteral, BlockScope scope) booleanASTVisitor.visit(CompoundAssignment compoundAssignment, BlockScope scope) booleanASTVisitor.visit(ConditionalExpression conditionalExpression, BlockScope scope) booleanASTVisitor.visit(ContinueStatement continueStatement, BlockScope scope) booleanASTVisitor.visit(DoStatement doStatement, BlockScope scope) booleanASTVisitor.visit(DoubleLiteral doubleLiteral, BlockScope scope) booleanASTVisitor.visit(EmptyStatement emptyStatement, BlockScope scope) booleanASTVisitor.visit(EqualExpression equalExpression, BlockScope scope) booleanASTVisitor.visit(ExplicitConstructorCall explicitConstructor, BlockScope scope) booleanASTVisitor.visit(ExtendedStringLiteral extendedStringLiteral, BlockScope scope) booleanASTVisitor.visit(FakeDefaultLiteral fakeDefaultLiteral, BlockScope scope) booleanASTVisitor.visit(FalseLiteral falseLiteral, BlockScope scope) booleanASTVisitor.visit(FieldReference fieldReference, BlockScope scope) booleanASTVisitor.visit(FloatLiteral floatLiteral, BlockScope scope) booleanASTVisitor.visit(ForeachStatement forStatement, BlockScope scope) booleanASTVisitor.visit(ForStatement forStatement, BlockScope scope) booleanASTVisitor.visit(GuardedPattern guardedPattern, BlockScope scope) booleanASTVisitor.visit(IfStatement ifStatement, BlockScope scope) booleanASTVisitor.visit(InstanceOfExpression instanceOfExpression, BlockScope scope) booleanASTVisitor.visit(IntersectionCastTypeReference intersectionCastTypeReference, BlockScope scope) booleanASTVisitor.visit(IntLiteral intLiteral, BlockScope scope) booleanASTVisitor.visit(JavadocAllocationExpression expression, BlockScope scope) booleanASTVisitor.visit(JavadocArgumentExpression expression, BlockScope scope) booleanASTVisitor.visit(JavadocArrayQualifiedTypeReference typeRef, BlockScope scope) booleanASTVisitor.visit(JavadocArraySingleTypeReference typeRef, BlockScope scope) booleanASTVisitor.visit(JavadocFieldReference fieldRef, BlockScope scope) booleanASTVisitor.visit(JavadocImplicitTypeReference implicitTypeReference, BlockScope scope) booleanASTVisitor.visit(JavadocMessageSend messageSend, BlockScope scope) booleanASTVisitor.visit(JavadocModuleReference moduleRef, BlockScope scope) booleanASTVisitor.visit(JavadocQualifiedTypeReference typeRef, BlockScope scope) booleanASTVisitor.visit(JavadocReturnStatement statement, BlockScope scope) booleanASTVisitor.visit(Javadoc javadoc, BlockScope scope) booleanASTVisitor.visit(JavadocSingleNameReference argument, BlockScope scope) booleanASTVisitor.visit(JavadocSingleTypeReference typeRef, BlockScope scope) booleanASTVisitor.visit(LabeledStatement labeledStatement, BlockScope scope) booleanASTVisitor.visit(LambdaExpression lambdaExpression, BlockScope blockScope) booleanASTVisitor.visit(LocalDeclaration localDeclaration, BlockScope scope) booleanASTVisitor.visit(LongLiteral longLiteral, BlockScope scope) booleanASTVisitor.visit(MarkerAnnotation annotation, BlockScope scope) booleanASTVisitor.visit(MemberValuePair pair, BlockScope scope) booleanASTVisitor.visit(MessageSend messageSend, BlockScope scope) booleanASTVisitor.visit(NormalAnnotation annotation, BlockScope scope) booleanASTVisitor.visit(NullLiteral nullLiteral, BlockScope scope) booleanASTVisitor.visit(OR_OR_Expression or_or_Expression, BlockScope scope) booleanASTVisitor.visit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) booleanASTVisitor.visit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope) booleanASTVisitor.visit(Pattern patternExpression, BlockScope scope) booleanASTVisitor.visit(PostfixExpression postfixExpression, BlockScope scope) booleanASTVisitor.visit(PrefixExpression prefixExpression, BlockScope scope) booleanASTVisitor.visit(QualifiedAllocationExpression qualifiedAllocationExpression, BlockScope scope) booleanASTVisitor.visit(QualifiedNameReference qualifiedNameReference, BlockScope scope) booleanASTVisitor.visit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) booleanASTVisitor.visit(QualifiedThisReference qualifiedThisReference, BlockScope scope) booleanASTVisitor.visit(QualifiedTypeReference qualifiedTypeReference, BlockScope scope) booleanASTVisitor.visit(RecordComponent recordComponent, BlockScope scope) booleanASTVisitor.visit(RecordPattern recordPattern, BlockScope scope) booleanASTVisitor.visit(ReferenceExpression referenceExpression, BlockScope blockScope) booleanASTVisitor.visit(ReturnStatement returnStatement, BlockScope scope) booleanASTVisitor.visit(SingleMemberAnnotation annotation, BlockScope scope) booleanASTVisitor.visit(SingleNameReference singleNameReference, BlockScope scope) booleanASTVisitor.visit(SingleTypeReference singleTypeReference, BlockScope scope) booleanASTVisitor.visit(StringLiteralConcatenation literal, BlockScope scope) booleanASTVisitor.visit(StringLiteral stringLiteral, BlockScope scope) booleanASTVisitor.visit(StringTemplate expr, BlockScope scope1) booleanASTVisitor.visit(SuperReference superReference, BlockScope scope) booleanASTVisitor.visit(SwitchExpression switchExpression, BlockScope blockScope) booleanASTVisitor.visit(SwitchStatement switchStatement, BlockScope scope) booleanASTVisitor.visit(SynchronizedStatement synchronizedStatement, BlockScope scope) booleanASTVisitor.visit(TemplateExpression expr, BlockScope scope1) booleanASTVisitor.visit(ThisReference thisReference, BlockScope scope) booleanASTVisitor.visit(ThrowStatement throwStatement, BlockScope scope) booleanASTVisitor.visit(TrueLiteral trueLiteral, BlockScope scope) booleanASTVisitor.visit(TryStatement tryStatement, BlockScope scope) booleanASTVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanASTVisitor.visit(TypeParameter typeParameter, BlockScope scope) booleanASTVisitor.visit(TypePattern anyPattern, BlockScope scope) booleanASTVisitor.visit(UnaryExpression unaryExpression, BlockScope scope) booleanASTVisitor.visit(UnionTypeReference unionTypeReference, BlockScope scope) booleanASTVisitor.visit(WhileStatement whileStatement, BlockScope scope) booleanASTVisitor.visit(Wildcard wildcard, BlockScope scope) booleanASTVisitor.visit(YieldStatement yieldStatement, BlockScope scope) booleanGenericAstVisitor.visit(AllocationExpression allocationExpression, BlockScope scope) booleanGenericAstVisitor.visit(AND_AND_Expression and_and_Expression, BlockScope scope) booleanGenericAstVisitor.visit(Argument argument, BlockScope scope) booleanGenericAstVisitor.visit(ArrayAllocationExpression arrayAllocationExpression, BlockScope scope) booleanGenericAstVisitor.visit(ArrayInitializer arrayInitializer, BlockScope scope) booleanGenericAstVisitor.visit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(ArrayReference arrayReference, BlockScope scope) booleanGenericAstVisitor.visit(ArrayTypeReference arrayTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(AssertStatement assertStatement, BlockScope scope) booleanGenericAstVisitor.visit(Assignment assignment, BlockScope scope) booleanGenericAstVisitor.visit(BinaryExpression binaryExpression, BlockScope scope) booleanGenericAstVisitor.visit(Block block, BlockScope scope) booleanGenericAstVisitor.visit(BreakStatement breakStatement, BlockScope scope) booleanGenericAstVisitor.visit(CaseStatement caseStatement, BlockScope scope) booleanGenericAstVisitor.visit(CastExpression castExpression, BlockScope scope) booleanGenericAstVisitor.visit(CharLiteral charLiteral, BlockScope scope) booleanGenericAstVisitor.visit(ClassLiteralAccess classLiteral, BlockScope scope) booleanGenericAstVisitor.visit(CompoundAssignment compoundAssignment, BlockScope scope) booleanGenericAstVisitor.visit(ConditionalExpression conditionalExpression, BlockScope scope) booleanGenericAstVisitor.visit(ContinueStatement continueStatement, BlockScope scope) booleanGenericAstVisitor.visit(DoStatement doStatement, BlockScope scope) booleanGenericAstVisitor.visit(DoubleLiteral doubleLiteral, BlockScope scope) booleanGenericAstVisitor.visit(EmptyStatement emptyStatement, BlockScope scope) booleanGenericAstVisitor.visit(EqualExpression equalExpression, BlockScope scope) booleanGenericAstVisitor.visit(ExplicitConstructorCall explicitConstructor, BlockScope scope) booleanGenericAstVisitor.visit(ExtendedStringLiteral extendedStringLiteral, BlockScope scope) booleanGenericAstVisitor.visit(FalseLiteral falseLiteral, BlockScope scope) booleanGenericAstVisitor.visit(FieldReference fieldReference, BlockScope scope) booleanGenericAstVisitor.visit(FloatLiteral floatLiteral, BlockScope scope) booleanGenericAstVisitor.visit(ForeachStatement forStatement, BlockScope scope) booleanGenericAstVisitor.visit(ForStatement forStatement, BlockScope scope) booleanGenericAstVisitor.visit(IfStatement ifStatement, BlockScope scope) booleanGenericAstVisitor.visit(InstanceOfExpression instanceOfExpression, BlockScope scope) booleanGenericAstVisitor.visit(IntersectionCastTypeReference intersectionCastTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(IntLiteral intLiteral, BlockScope scope) booleanGenericAstVisitor.visit(JavadocAllocationExpression expression, BlockScope scope) booleanGenericAstVisitor.visit(JavadocArgumentExpression expression, BlockScope scope) booleanGenericAstVisitor.visit(JavadocArrayQualifiedTypeReference typeRef, BlockScope scope) booleanGenericAstVisitor.visit(JavadocArraySingleTypeReference typeRef, BlockScope scope) booleanGenericAstVisitor.visit(JavadocFieldReference fieldRef, BlockScope scope) booleanGenericAstVisitor.visit(JavadocImplicitTypeReference implicitTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(JavadocMessageSend messageSend, BlockScope scope) booleanGenericAstVisitor.visit(JavadocModuleReference moduleRef, BlockScope scope) booleanGenericAstVisitor.visit(JavadocQualifiedTypeReference typeRef, BlockScope scope) booleanGenericAstVisitor.visit(JavadocReturnStatement statement, BlockScope scope) booleanGenericAstVisitor.visit(Javadoc javadoc, BlockScope scope) booleanGenericAstVisitor.visit(JavadocSingleNameReference argument, BlockScope scope) booleanGenericAstVisitor.visit(JavadocSingleTypeReference typeRef, BlockScope scope) booleanGenericAstVisitor.visit(LabeledStatement labeledStatement, BlockScope scope) booleanGenericAstVisitor.visit(LambdaExpression lambdaExpression, BlockScope blockScope) booleanGenericAstVisitor.visit(LocalDeclaration localDeclaration, BlockScope scope) booleanGenericAstVisitor.visit(LongLiteral longLiteral, BlockScope scope) booleanGenericAstVisitor.visit(MarkerAnnotation annotation, BlockScope scope) booleanGenericAstVisitor.visit(MemberValuePair pair, BlockScope scope) booleanGenericAstVisitor.visit(MessageSend messageSend, BlockScope scope) booleanGenericAstVisitor.visit(NormalAnnotation annotation, BlockScope scope) booleanGenericAstVisitor.visit(NullLiteral nullLiteral, BlockScope scope) booleanGenericAstVisitor.visit(OR_OR_Expression or_or_Expression, BlockScope scope) booleanGenericAstVisitor.visit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(PostfixExpression postfixExpression, BlockScope scope) booleanGenericAstVisitor.visit(PrefixExpression prefixExpression, BlockScope scope) booleanGenericAstVisitor.visit(QualifiedAllocationExpression qualifiedAllocationExpression, BlockScope scope) booleanGenericAstVisitor.visit(QualifiedNameReference qualifiedNameReference, BlockScope scope) booleanGenericAstVisitor.visit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) booleanGenericAstVisitor.visit(QualifiedThisReference qualifiedThisReference, BlockScope scope) booleanGenericAstVisitor.visit(QualifiedTypeReference qualifiedTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(RecordComponent recordComponent, BlockScope scope) booleanGenericAstVisitor.visit(ReferenceExpression referenceExpression, BlockScope blockScope) booleanGenericAstVisitor.visit(ReturnStatement returnStatement, BlockScope scope) booleanGenericAstVisitor.visit(SingleMemberAnnotation annotation, BlockScope scope) booleanGenericAstVisitor.visit(SingleNameReference singleNameReference, BlockScope scope) booleanGenericAstVisitor.visit(SingleTypeReference singleTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(StringLiteralConcatenation literal, BlockScope scope) booleanGenericAstVisitor.visit(StringLiteral stringLiteral, BlockScope scope) booleanGenericAstVisitor.visit(StringTemplate expr, BlockScope scope1) booleanGenericAstVisitor.visit(SuperReference superReference, BlockScope scope) booleanGenericAstVisitor.visit(SwitchExpression switchExpression, BlockScope blockScope) booleanGenericAstVisitor.visit(SwitchStatement switchStatement, BlockScope scope) booleanGenericAstVisitor.visit(SynchronizedStatement synchronizedStatement, BlockScope scope) booleanGenericAstVisitor.visit(TemplateExpression templateExpression, BlockScope scope) booleanGenericAstVisitor.visit(ThisReference thisReference, BlockScope scope) booleanGenericAstVisitor.visit(ThrowStatement throwStatement, BlockScope scope) booleanGenericAstVisitor.visit(TrueLiteral trueLiteral, BlockScope scope) booleanGenericAstVisitor.visit(TryStatement tryStatement, BlockScope scope) booleanGenericAstVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanGenericAstVisitor.visit(TypeParameter typeParameter, BlockScope scope) booleanGenericAstVisitor.visit(UnaryExpression unaryExpression, BlockScope scope) booleanGenericAstVisitor.visit(UnionTypeReference unionTypeReference, BlockScope scope) booleanGenericAstVisitor.visit(WhileStatement whileStatement, BlockScope scope) booleanGenericAstVisitor.visit(Wildcard wildcard, BlockScope scope) booleanGenericAstVisitor.visit(YieldStatement yieldStatement, BlockScope scope) booleanSourceElementNotifier.LocalDeclarationVisitor.visit(TypeDeclaration typeDeclaration, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch
Methods in org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch with parameters of type BlockScopeModifier and TypeMethodDescriptionbooleanAnnotationDiscoveryVisitor.visit(Argument argument, BlockScope scope) booleanAnnotationDiscoveryVisitor.visit(RecordComponent recordComponent, BlockScope scope) booleanAnnotationDiscoveryVisitor.visit(TypeParameter typeParameter, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.ast
Fields in org.aspectj.org.eclipse.jdt.internal.compiler.ast declared as BlockScopeModifier and TypeFieldDescriptionFunctionalExpression.enclosingScopeBlock.scopeForeachStatement.scopeForStatement.scopeSwitchStatement.scopeSynchronizedStatement.scopeMethods in org.aspectj.org.eclipse.jdt.internal.compiler.ast with parameters of type BlockScopeModifier and TypeMethodDescriptionprotected voidYieldStatement.addSecretYieldResultValue(BlockScope scope) protected 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) static FlowInfoFakedTrackingVariable.analyseCloseableAcquisition(BlockScope scope, FlowInfo flowInfo, FlowContext flowContext, MessageSend acquisition) Check if a message send acquires a closeable from its receiver, see: Bug 463320 - [compiler][resource] potential "resource leak" problem disappears when local variable inlinedstatic voidFakedTrackingVariable.analyseCloseableAllocation(BlockScope scope, FlowInfo flowInfo, FlowContext flowContext, AllocationExpression allocation) Compute/assign a tracking variable for a freshly allocated closeable value, using information from our white lists.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) EitherOrMultiPattern.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.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) 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) 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) 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 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) voidBinaryExpression.buildStringForConcatation(BlockScope blockScope, CodeStream codeStream, int typeID, StringBuilder recipe, List<TypeBinding> argTypes) voidCombinedBinaryExpression.buildStringForConcatation(BlockScope blockScope, CodeStream codeStream, int typeID, StringBuilder recipe, List<TypeBinding> argTypes) voidExpression.buildStringForConcatation(BlockScope blockScope, CodeStream codeStream, int typeID, StringBuilder recipe, List<TypeBinding> argTypes) booleanThisReference.checkAccess(BlockScope scope, ReferenceBinding receiverType) protected voidStatement.checkAgainstNullTypeAnnotation(BlockScope scope, TypeBinding requiredType, Expression expression, FlowContext flowContext, FlowInfo flowInfo) 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 annotationvoidAllocationExpression.checkCapturedLocalInitializationIfNecessary(ReferenceBinding checkedType, BlockScope currentScope, FlowInfo flowInfo) static voidAnnotation.checkContainerAnnotationType(ASTNode culpritNode, BlockScope scope, ReferenceBinding containerAnnotationType, ReferenceBinding repeatableAnnotationType, boolean useSite) static voidAnnotation.checkContainingAnnotationTargetAtUse(Annotation repeatingAnnotation, BlockScope scope, TypeBinding containerAnnotationType, TypeBinding repeatingAnnotationType) SingleNameReference.checkFieldAccess(BlockScope scope) static voidAnnotation.checkForInstancesOfRepeatableWithRepeatingContainerAnnotation(BlockScope scope, ReferenceBinding repeatedAnnotationType, Annotation[] sourceAnnotations) Check to see if a repeating annotation is in fact of a container annotation type for an annotation which is also present at the same target.static booleanASTNode.checkInvocationArguments(BlockScope scope, Expression receiver, TypeBinding receiverType, MethodBinding method, Expression[] arguments, TypeBinding[] argumentTypes, boolean argsContainCast, InvocationSite invocationSite) static voidCastExpression.checkNeedForArgumentCast(BlockScope scope, int operator, int operatorSignature, Expression expression, int expressionTypeId) Only complain for identity cast, since other type of casts may be useful: e.g.static voidCastExpression.checkNeedForArgumentCasts(BlockScope scope, int operator, int operatorSignature, Expression left, int leftTypeId, boolean leftIsCast, Expression right, int rightTypeId, boolean rightIsCast) Check binary operator casted argumentsstatic voidCastExpression.checkNeedForArgumentCasts(BlockScope scope, Expression receiver, TypeBinding receiverType, MethodBinding binding, Expression[] arguments, TypeBinding[] argumentTypes, InvocationSite invocationSite) Cast expressions will considered as useful if removing them all would actually bind to a different method (no fine grain analysis on per casted argument basis, simply separate widening cast from narrowing ones)static voidCastExpression.checkNeedForAssignedCast(BlockScope scope, TypeBinding expectedType, CastExpression rhs) Complain if assigned expression is cast, but not actually used as such, e.g.static voidCastExpression.checkNeedForCastCast(BlockScope scope, CastExpression enclosingCast) Complain if cast expression is cast, but not actually needed, int i = (int)(Integer) 12; Note that this (int) cast is however needed: Integer i = 0; char c = (char)((int) i);static voidCastExpression.checkNeedForEnclosingInstanceCast(BlockScope scope, Expression enclosingInstance, TypeBinding enclosingInstanceType, TypeBinding memberType) Casting an enclosing instance will considered as useful if removing it would actually bind to a different typebooleanArrayReference.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.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 voidReferenceExpression.checkNullAnnotations(BlockScope scope) protected voidAllocationExpression.checkPreConstructorContext(BlockScope scope) voidAnnotation.checkRepeatableMetaAnnotation(BlockScope scope) voidAllocationExpression.checkTypeArgumentRedundancy(ParameterizedTypeBinding allocationType, BlockScope scope) protected voidArrayAllocationExpression.checkUninitializedNonNullArrayContents(BlockScope scope, long elementNullTagBits, int lastDim) static voidFakedTrackingVariable.cleanUpAfterAssignment(BlockScope currentScope, int lhsBits, Expression expression) static voidFakedTrackingVariable.cleanUpUnassigned(BlockScope scope, ASTNode location, FlowInfo flowInfo, boolean returnMissingOwning) Unassigned closeables are not visible beyond their enclosing statement, immediately report and remove after each statement.intEmptyStatement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, int complaintLevel, boolean endOfBlock) intStatement.complainIfUnreachable(FlowInfo flowInfo, BlockScope scope, int previousComplaintLevel, boolean endOfBlock) protected voidSwitchExpression.completeNormallyCheck(BlockScope blockScope) protected voidSwitchStatement.completeNormallyCheck(BlockScope blockScope) voidBinaryExpression.computeConstant(BlockScope scope, int leftId, int rightId) protected booleanConditionalExpression.computeConversions(BlockScope scope, TypeBinding targetType) protected booleanSwitchExpression.computeConversions(BlockScope blockScope, TypeBinding targetType) static voidASTNode.copySE8AnnotationsToType(BlockScope scope, Binding recipient, Annotation[] annotations, boolean annotatingEnumerator) protected MethodBindingStatement.findConstructorBinding(BlockScope scope, Invocation site, ReferenceBinding receiverType, TypeBinding[] argumentTypes) For all constructor invocations: find the constructor binding; if site.innersNeedUpdate() perform some post processing for those and produce any updates as side-effects into 'argumentTypes'.protected TypeBindingMessageSend.findMethodBinding(BlockScope scope) intFakedTrackingVariable.findMostSpecificStatus(FlowInfo flowInfo, BlockScope currentScope, BlockScope locationScope) voidStatement.generateArguments(MethodBinding binding, Expression[] arguments, BlockScope currentScope, CodeStream codeStream) Generate invocation arguments, considering varargs methodsvoidArrayReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidFieldReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidQualifiedNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) abstract voidReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidSingleNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidThisReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidEqualExpression.generateBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!voidAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidAND_AND_Expression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a binary operationvoidArrayAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a array allocation expressionvoidArrayInitializer.generateCode(TypeReference typeReference, ArrayAllocationExpression allocationExpression, BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a array initializervoidArrayInitializer.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidArrayReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a array referencevoidAssertStatement.generateCode(BlockScope currentScope, CodeStream codeStream) voidAssignment.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidBinaryExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a binary operationvoidBlock.generateCode(BlockScope currentScope, CodeStream codeStream) Code generation for a blockvoidBranchStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Branch code generation generate the finallyInvocationSequence.voidCaseStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Case code generationvoidCastExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Cast expression code generationvoidCharLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) CharLiteral code generationvoidClassLiteralAccess.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) MessageSendDotClass code generationvoidCompoundAssignment.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidConditionalExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for the conditional operator ?:voidDoStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Do statement code generationvoidDoubleLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for the double literakvoidEitherOrMultiPattern.generateCode(BlockScope currentScope, CodeStream codeStream, BranchLabel patternMatchLabel, BranchLabel matchFailLabel) voidEmptyStatement.generateCode(BlockScope currentScope, CodeStream codeStream) voidEqualExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Normal == or != code generation.voidExplicitConstructorCall.generateCode(BlockScope currentScope, CodeStream codeStream) Constructor call code generationvoidExpression.generateCode(BlockScope currentScope, CodeStream codeStream) Expression statements are plain expressions, however they generate like normal expressions with no value required.voidExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Every expression is responsible for generating its implicit conversion when necessary.voidFakedTrackingVariable.generateCode(BlockScope currentScope, CodeStream codeStream) voidFalseLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for false literalvoidFieldDeclaration.generateCode(BlockScope currentScope, CodeStream codeStream) Code generation for a field declaration: standard assignment to a fieldvoidFieldReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Field reference code generationvoidFloatLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for float literalvoidForeachStatement.generateCode(BlockScope currentScope, CodeStream codeStream) For statement code generationvoidForStatement.generateCode(BlockScope currentScope, CodeStream codeStream) For statement code generationvoidGuardedPattern.generateCode(BlockScope currentScope, CodeStream codeStream, BranchLabel patternMatchLabel, BranchLabel matchFailLabel) voidIfStatement.generateCode(BlockScope currentScope, CodeStream codeStream) If code generationvoidInitializer.generateCode(BlockScope currentScope, CodeStream codeStream) Code generation for a non-static initializer: standard block code genvoidInstanceOfExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidIntLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for long literalvoidLabeledStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Code generation for labeled statement may not need actual source positions recordingvoidLambdaExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidLocalDeclaration.generateCode(BlockScope currentScope, CodeStream codeStream) Code generation for a local declaration: i.e. normal assignment to a local variable + unused variable handlingvoidLongLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for long literalvoidMessageSend.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) MessageSend code generationvoidNullLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for the null literalvoidOR_OR_Expression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for a binary operationabstract voidPattern.generateCode(BlockScope currentScope, CodeStream codeStream, BranchLabel patternMatchLabel, BranchLabel matchFailLabel) voidPostfixExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for PostfixExpressionvoidQualifiedAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidQualifiedNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidQualifiedThisReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for QualifiedThisReferencevoidRecordComponent.generateCode(BlockScope currentScope, CodeStream codeStream) voidRecordPattern.generateCode(BlockScope currentScope, CodeStream codeStream, BranchLabel patternMatchLabel, BranchLabel matchFailLabel) voidReferenceExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidReturnStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Retrun statement code generation generate the finallyInvocationSequence.voidSingleNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) abstract voidStatement.generateCode(BlockScope currentScope, CodeStream codeStream) voidStringLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for string literalvoidStringTemplate.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidSwitchExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidSwitchStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Switch code generationvoidSwitchStatement.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidSynchronizedStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Synchronized statement code generationvoidTemplateExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidThisReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidThrowStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Throw code generationvoidTrueLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for the true literalvoidTryStatement.generateCode(BlockScope currentScope, CodeStream codeStream) Try statement code generation with or without jsr bytecode use post 1.5 target level, cannot use jsr bytecode, must instead inline finally block returnAddress is only allocated if jsr is allowedvoidTypeDeclaration.generateCode(BlockScope blockScope, CodeStream codeStream) Bytecode generation for a local inner type (API as a normal statement code gen)voidTypeParameter.generateCode(BlockScope currentScope, CodeStream codeStream) voidTypePattern.generateCode(BlockScope currentScope, CodeStream codeStream, BranchLabel patternMatchLabel, BranchLabel matchFailLabel) voidUnaryExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Code generation for an unary operationvoidWhileStatement.generateCode(BlockScope currentScope, CodeStream codeStream) While code generationvoidYieldStatement.generateCode(BlockScope currentScope, CodeStream codeStream) voidSwitchStatement.generateCodeForStringSwitch(BlockScope currentScope, CodeStream codeStream) Switch on String code generation This assumes that hashCode() specification for java.lang.String is API and is stable.voidArrayReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidFieldReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidQualifiedNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) abstract voidReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidSingleNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidSingleNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, MethodBinding writeAccessor, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidThisReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) protected voidYieldStatement.generateExpressionResultCodeExpanded(BlockScope currentScope, CodeStream codeStream) voidReferenceExpression.generateImplicitLambda(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidBinaryExpression.generateLogicalAnd(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Boolean generation for&voidBinaryExpression.generateLogicalOr(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Boolean generation for |voidBinaryExpression.generateLogicalXor(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Boolean generation for ^voidEqualExpression.generateNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Boolean generation for == with non-boolean operandsvoidAND_AND_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are:&&voidBinaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation.voidConditionalExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Optimized boolean code generation for the conditional operator ?:voidEqualExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: == and !=voidExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Default generation of a boolean valuevoidFalseLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidInstanceOfExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidOR_OR_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: ||voidTrueLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidUnaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are:&&, ||, <, <=, >, >=, &, |, ^voidEqualExpression.generateOptimizedBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!voidBinaryExpression.generateOptimizedGreaterThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for >voidBinaryExpression.generateOptimizedGreaterThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for >=voidBinaryExpression.generateOptimizedLessThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for<voidBinaryExpression.generateOptimizedLessThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for<=voidBinaryExpression.generateOptimizedLogicalAnd(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for&voidBinaryExpression.generateOptimizedLogicalOr(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for |voidBinaryExpression.generateOptimizedLogicalXor(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for ^voidEqualExpression.generateOptimizedNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for == with non-boolean operandsvoidBinaryExpression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID) voidCombinedBinaryExpression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID) voidExpression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID) voidBinaryExpression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID) voidCombinedBinaryExpression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID) voidExpression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID) voidArrayReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidFieldReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidQualifiedNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) abstract voidReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidSingleNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidThisReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) QualifiedNameReference.generateReadSequence(BlockScope currentScope, CodeStream codeStream) abstract booleanSubRoutineStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal) Generate an invocation of a subroutine (e.g.booleanSynchronizedStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal) booleanTryStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal) static TypeBindingForeachStatement.getCollectionElementType(BlockScope scope, TypeBinding collectionType) protected intSwitchExpression.getFallThroughState(Statement stmt, BlockScope blockScope) protected intSwitchStatement.getFallThroughState(Statement stmt, BlockScope blockScope) QualifiedNameReference.getOtherFieldBindings(BlockScope scope) longAnnotation.handleNonNullByDefault(BlockScope scope) static voidASTNode.handleNonNullByDefault(BlockScope scope, Annotation[] sourceAnnotations, LocalDeclaration localDeclaration) "early" handling of NonNullByDefault because for local variables annotations are resolved after their type because of bug 96991.protected TypeBindingMessageSend.handleNullnessCodePatterns(BlockScope scope, TypeBinding returnType) 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.static voidFakedTrackingVariable.handleResourceFieldAssignment(BlockScope scope, FlowInfo flowInfo, FlowContext flowContext, ASTNode location, Expression rhs) When assigning an rhs of an (Auto)Closeable type (or null) to a field, inspect annotations to find out if the assignment assigns ownership to the instance (rather than current method).default FlowInfoInvocation.handleResourcePassedToInvocation(BlockScope currentScope, MethodBinding methodBinding, Expression argument, int rank, FlowContext flowContext, FlowInfo flowInfo) Resource leak analysis: track the case that a resource is passed as an argument to an invocation.static booleanAnnotation.isAnnotationTargetAllowed(BlockScope scope, TypeBinding annotationType, Binding recipient) protected booleanGuardedPattern.isApplicable(TypeBinding other, BlockScope scope) protected booleanPattern.isApplicable(TypeBinding other, BlockScope scope) booleanFakedTrackingVariable.isClosedInFinallyOfEnclosing(BlockScope scope) booleanUnlikelyArgumentCheck.isDangerous(BlockScope currentScope) Check if the invocation is likely a bug.booleanAbstractVariableDeclaration.isUnnamed(BlockScope scope) Returns true if this variable is an unnamed variable (_) and false otherwise.CharLiteral.literalType(BlockScope scope) DoubleLiteral.literalType(BlockScope scope) FakeDefaultLiteral.literalType(BlockScope scope) FalseLiteral.literalType(BlockScope scope) FloatLiteral.literalType(BlockScope scope) IntLiteral.literalType(BlockScope scope) abstract TypeBindingLiteral.literalType(BlockScope scope) LongLiteral.literalType(BlockScope scope) NullLiteral.literalType(BlockScope scope) StringLiteral.literalType(BlockScope scope) TrueLiteral.literalType(BlockScope scope) voidAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidQualifiedAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidQualifiedNameReference.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidSingleNameReference.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidTypeDeclaration.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidAllocationExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidAssertStatement.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidExplicitConstructorCall.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidFieldReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess) voidMessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidQualifiedNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, int index, FlowInfo flowInfo) index is less then 0 to denote write access emulationvoidReferenceExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidSingleNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess) 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.intFakedTrackingVariable.mergeCloseStatus(BlockScope currentScope, int status, LocalVariableBinding local, BlockScope outerScope) QualifiedNameReference.reportError(BlockScope scope) Normal field binding did not work, try to bind to a field of the delegate receiver.SingleNameReference.reportError(BlockScope scope) protected voidSwitchExpression.reportMissingEnumConstantCase(BlockScope upperScope, FieldBinding enumConstant) protected voidSwitchStatement.reportMissingEnumConstantCase(BlockScope upperScope, FieldBinding enumConstant) protected TypeBindingFunctionalExpression.reportSamProblem(BlockScope blockScope, MethodBinding sam) protected voidAllocationExpression.reportTypeArgumentRedundancyProblem(ParameterizedTypeBinding allocationType, BlockScope scope) protected voidQualifiedAllocationExpression.reportTypeArgumentRedundancyProblem(ParameterizedTypeBinding allocationType, BlockScope scope) voidAbstractVariableDeclaration.resolve(BlockScope scope) voidAssertStatement.resolve(BlockScope scope) voidBlock.resolve(BlockScope upperScope) voidBranchStatement.resolve(BlockScope scope) voidCaseStatement.resolve(BlockScope scope) No-op : should use resolveCase(...) instead.voidDoStatement.resolve(BlockScope scope) voidEmptyStatement.resolve(BlockScope scope) voidExplicitConstructorCall.resolve(BlockScope scope) voidExpression.resolve(BlockScope scope) voidFakedTrackingVariable.resolve(BlockScope scope) voidForeachStatement.resolve(BlockScope upperScope) voidForStatement.resolve(BlockScope upperScope) voidIfStatement.resolve(BlockScope scope) voidJavadocArgumentExpression.resolve(BlockScope scope) voidJavadocReturnStatement.resolve(BlockScope scope) voidJavadocSingleNameReference.resolve(BlockScope scope) voidJavadocSingleNameReference.resolve(BlockScope scope, boolean warn, boolean considerParamRefAsUsage) Resolve without warningsvoidLabeledStatement.resolve(BlockScope scope) voidLocalDeclaration.resolve(BlockScope scope) voidLocalDeclaration.resolve(BlockScope scope, boolean isPatternVariable) booleanProvidesStatement.resolve(BlockScope scope) voidRecordComponent.resolve(BlockScope scope) voidReturnStatement.resolve(BlockScope scope) abstract voidStatement.resolve(BlockScope scope) voidStringTemplate.resolve(BlockScope scope) voidSwitchStatement.resolve(BlockScope upperScope) voidSynchronizedStatement.resolve(BlockScope upperScope) voidThrowStatement.resolve(BlockScope scope) voidTryStatement.resolve(BlockScope upperScope) voidTypeDeclaration.resolve(BlockScope blockScope) Resolve a local type declarationvoidTypeParameter.resolve(BlockScope scope) voidWhileStatement.resolve(BlockScope scope) voidYieldStatement.resolve(BlockScope scope) static TypeBindingASTNode.resolveAnnotations(BlockScope scope, Annotation[][] sourceAnnotations, TypeBinding type) Resolve JSR308 annotations on a type reference, array creation expression or a wildcard.static voidASTNode.resolveAnnotations(BlockScope scope, Annotation[] sourceAnnotations, Binding recipient) static AnnotationBinding[]ASTNode.resolveAnnotations(BlockScope scope, Annotation[] sourceAnnotations, Binding recipient, boolean copySE8AnnotationsToType) Resolve annotations, and check duplicates, answers combined tagBits for recognized standard annotations.CaseStatement.resolveCase(BlockScope scope, TypeBinding switchExpressionType, SwitchStatement switchStatement) Returns the constant intValue or ordinal for enum constants.CaseStatement.resolveConstantExpression(BlockScope scope, TypeBinding caseType, TypeBinding switchType, SwitchStatement switchStatement, Expression expression, List<CaseStatement.ResolvedCase> cases) static voidASTNode.resolveDeprecatedAnnotations(BlockScope scope, Annotation[] annotations, Binding recipient) Figures if @Deprecated annotation is specified, do not resolve entire annotations.Expression.resolveExpressionType(BlockScope scope) Statement.resolveExpressionType(BlockScope scope) Returns the resolved expression if any associated to this statement - used parameter statement has to be either a SwitchStatement or a SwitchExpressionYieldStatement.resolveExpressionType(BlockScope scope1) Argument.resolveForCatch(BlockScope scope) protected voidMessageSend.resolveMethodBinding(BlockScope scope, TypeBinding[] argumentTypes) static MethodBindingASTNode.resolvePolyExpressionArguments(Invocation invocation, MethodBinding method, TypeBinding[] argumentTypes, BlockScope scope) After method lookup has produced 'methodBinding' but when poly expressions have been seen as arguments, inspect the arguments to trigger another round of resolving with improved target types from the methods parameters.static voidASTNode.resolveStatements(Statement[] statements, BlockScope scope) AllocationExpression.resolveType(BlockScope scope) AND_AND_Expression.resolveType(BlockScope scope) Annotation.resolveType(BlockScope scope) ArrayAllocationExpression.resolveType(BlockScope scope) ArrayReference.resolveType(BlockScope scope) Assignment.resolveType(BlockScope scope) BinaryExpression.resolveType(BlockScope scope) CastExpression.resolveType(BlockScope scope) ClassLiteralAccess.resolveType(BlockScope scope) CombinedBinaryExpression.resolveType(BlockScope scope) CompoundAssignment.resolveType(BlockScope scope) ConditionalExpression.resolveType(BlockScope scope) ContainerAnnotation.resolveType(BlockScope scope) EitherOrMultiPattern.resolveType(BlockScope scope) EqualExpression.resolveType(BlockScope scope) Expression.resolveType(BlockScope scope) Resolve the type of this expression in the context of a blockScopeFieldReference.resolveType(BlockScope scope) FunctionalExpression.resolveType(BlockScope blockScope) FunctionalExpression.resolveType(BlockScope blockScope, boolean skipKosherCheck) GuardedPattern.resolveType(BlockScope scope) InstanceOfExpression.resolveType(BlockScope scope) IntersectionCastTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) IPolyExpression.resolveType(BlockScope blockScope) JavadocAllocationExpression.resolveType(BlockScope scope) JavadocArgumentExpression.resolveType(BlockScope scope) JavadocFieldReference.resolveType(BlockScope scope) JavadocMessageSend.resolveType(BlockScope scope) JavadocModuleReference.resolveType(BlockScope blockScope) JavadocQualifiedTypeReference.resolveType(BlockScope blockScope, boolean checkBounds, int location) LambdaExpression.resolveType(BlockScope blockScope, boolean skipKosherCheck) Literal.resolveType(BlockScope scope) MessageSend.resolveType(BlockScope scope) OR_OR_Expression.resolveType(BlockScope scope) ParameterizedQualifiedTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) ParameterizedSingleTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) QualifiedAllocationExpression.resolveType(BlockScope scope) QualifiedNameReference.resolveType(BlockScope scope) QualifiedSuperReference.resolveType(BlockScope scope) QualifiedThisReference.resolveType(BlockScope scope) RecordPattern.resolveType(BlockScope scope) ReferenceExpression.resolveType(BlockScope scope) SingleNameReference.resolveType(BlockScope scope) StringTemplate.resolveType(BlockScope scope) SuperReference.resolveType(BlockScope scope) SwitchExpression.resolveType(BlockScope upperScope) TemplateExpression.resolveType(BlockScope scope) ThisReference.resolveType(BlockScope scope) TypePattern.resolveType(BlockScope scope) final TypeBindingTypeReference.resolveType(BlockScope blockScope) TypeReference.resolveType(BlockScope scope, boolean checkBounds) TypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) UnaryExpression.resolveType(BlockScope scope) UnionTypeReference.resolveType(BlockScope scope, boolean checkBounds, int location) Wildcard.resolveType(BlockScope scope, boolean checkBounds, int location) TypeReference.resolveTypeArgument(BlockScope blockScope, ReferenceBinding genericType, int rank) Wildcard.resolveTypeArgument(BlockScope blockScope, ReferenceBinding genericType, int rank) ParameterizedSingleTypeReference.resolveTypeEnclosing(BlockScope scope, ReferenceBinding enclosingType) SingleTypeReference.resolveTypeEnclosing(BlockScope scope, ReferenceBinding enclosingType) ArrayInitializer.resolveTypeExpecting(BlockScope scope, TypeBinding expectedType) Assignment.resolveTypeExpecting(BlockScope scope, TypeBinding expectedType) Expression.resolveTypeExpecting(BlockScope scope, TypeBinding expectedType) voidMemberValuePair.resolveTypeExpecting(BlockScope scope, TypeBinding requiredType) Expression.resolveTypeExpectingWithBindings(LocalVariableBinding[] bindings, BlockScope scope, TypeBinding expectedType) SwitchExpression.resolveTypeInternal(BlockScope upperScope) Expression.resolveTypeWithBindings(LocalVariableBinding[] bindings, BlockScope scope) voidLambdaExpression.resolveTypeWithBindings(LocalVariableBinding[] bindings, BlockScope blockScope, boolean skipKosherCheck) voidBlock.resolveUsing(BlockScope givenScope) voidStatement.resolveWithBindings(LocalVariableBinding[] bindings, BlockScope scope) protected voidSwitchExpression.statementGenerateCode(BlockScope currentScope, CodeStream codeStream, Statement statement) protected voidSwitchStatement.statementGenerateCode(BlockScope currentScope, CodeStream codeStream, Statement statement) voidAllocationExpression.traverse(ASTVisitor visitor, BlockScope scope) voidAND_AND_Expression.traverse(ASTVisitor visitor, BlockScope scope) abstract voidAnnotation.traverse(ASTVisitor visitor, BlockScope scope) voidArgument.traverse(ASTVisitor visitor, BlockScope scope) voidArrayAllocationExpression.traverse(ASTVisitor visitor, BlockScope scope) voidArrayInitializer.traverse(ASTVisitor visitor, BlockScope scope) voidArrayQualifiedTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidArrayReference.traverse(ASTVisitor visitor, BlockScope scope) voidArrayTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidAssertStatement.traverse(ASTVisitor visitor, BlockScope scope) voidAssignment.traverse(ASTVisitor visitor, BlockScope scope) voidASTNode.traverse(ASTVisitor visitor, BlockScope scope) voidBinaryExpression.traverse(ASTVisitor visitor, BlockScope scope) voidBlock.traverse(ASTVisitor visitor, BlockScope blockScope) voidBreakStatement.traverse(ASTVisitor visitor, BlockScope blockscope) voidCaseStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidCastExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidCharLiteral.traverse(ASTVisitor visitor, BlockScope blockScope) voidClassLiteralAccess.traverse(ASTVisitor visitor, BlockScope blockScope) voidCombinedBinaryExpression.traverse(ASTVisitor visitor, BlockScope scope) voidCompoundAssignment.traverse(ASTVisitor visitor, BlockScope scope) voidConditionalExpression.traverse(ASTVisitor visitor, BlockScope scope) voidContinueStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidDoStatement.traverse(ASTVisitor visitor, BlockScope scope) voidDoubleLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidEitherOrMultiPattern.traverse(ASTVisitor visitor, BlockScope scope) voidEmptyStatement.traverse(ASTVisitor visitor, BlockScope scope) voidEqualExpression.traverse(ASTVisitor visitor, BlockScope scope) voidExplicitConstructorCall.traverse(ASTVisitor visitor, BlockScope scope) voidExpression.traverse(ASTVisitor visitor, BlockScope scope) Traverse an expression in the context of a blockScopevoidExtendedStringLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidFalseLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidFieldReference.traverse(ASTVisitor visitor, BlockScope scope) voidFloatLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidForeachStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidForStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidGuardedPattern.traverse(ASTVisitor visitor, BlockScope scope) voidIfStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidInstanceOfExpression.traverse(ASTVisitor visitor, BlockScope scope) voidIntersectionCastTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidIntLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidJavadoc.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocAllocationExpression.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocArgumentExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidJavadocArrayQualifiedTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocArraySingleTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocFieldReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocImplicitTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocMessageSend.traverse(ASTVisitor visitor, BlockScope blockScope) voidJavadocModuleReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocQualifiedTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocReturnStatement.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocSingleNameReference.traverse(ASTVisitor visitor, BlockScope scope) voidJavadocSingleTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidLabeledStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidLambdaExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidLocalDeclaration.traverse(ASTVisitor visitor, BlockScope scope) voidLongLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidMarkerAnnotation.traverse(ASTVisitor visitor, BlockScope scope) voidMemberValuePair.traverse(ASTVisitor visitor, BlockScope scope) voidMessageSend.traverse(ASTVisitor visitor, BlockScope blockScope) voidNormalAnnotation.traverse(ASTVisitor visitor, BlockScope scope) voidNullLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidOR_OR_Expression.traverse(ASTVisitor visitor, BlockScope scope) voidParameterizedQualifiedTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidParameterizedSingleTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidPostfixExpression.traverse(ASTVisitor visitor, BlockScope scope) voidPrefixExpression.traverse(ASTVisitor visitor, BlockScope scope) voidQualifiedAllocationExpression.traverse(ASTVisitor visitor, BlockScope scope) voidQualifiedNameReference.traverse(ASTVisitor visitor, BlockScope scope) voidQualifiedSuperReference.traverse(ASTVisitor visitor, BlockScope blockScope) voidQualifiedThisReference.traverse(ASTVisitor visitor, BlockScope blockScope) voidQualifiedTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidRecordComponent.traverse(ASTVisitor visitor, BlockScope scope) voidRecordPattern.traverse(ASTVisitor visitor, BlockScope scope) voidReferenceExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidReturnStatement.traverse(ASTVisitor visitor, BlockScope scope) voidSingleMemberAnnotation.traverse(ASTVisitor visitor, BlockScope scope) voidSingleNameReference.traverse(ASTVisitor visitor, BlockScope scope) voidSingleTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidStringLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidStringLiteralConcatenation.traverse(ASTVisitor visitor, BlockScope scope) voidStringTemplate.traverse(ASTVisitor visitor, BlockScope scope) voidSuperReference.traverse(ASTVisitor visitor, BlockScope blockScope) voidSwitchExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidSwitchStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidSynchronizedStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidTemplateExpression.traverse(ASTVisitor visitor, BlockScope scope) voidThisReference.traverse(ASTVisitor visitor, BlockScope blockScope) voidThrowStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidTrueLiteral.traverse(ASTVisitor visitor, BlockScope scope) voidTryStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidTypeDeclaration.traverse(ASTVisitor visitor, BlockScope blockScope) Iteration for a local inner typevoidTypeParameter.traverse(ASTVisitor visitor, BlockScope scope) voidTypePattern.traverse(ASTVisitor visitor, BlockScope scope) abstract voidTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidUnaryExpression.traverse(ASTVisitor visitor, BlockScope blockScope) voidUnionTypeReference.traverse(ASTVisitor visitor, BlockScope scope) voidWhileStatement.traverse(ASTVisitor visitor, BlockScope blockScope) voidWildcard.traverse(ASTVisitor visitor, BlockScope scope) voidYieldStatement.traverse(ASTVisitor visitor, BlockScope blockscope) Constructors in org.aspectj.org.eclipse.jdt.internal.compiler.ast with parameters of type BlockScopeModifierConstructorDescriptionContainerAnnotation(Annotation repeatingAnnotation, ReferenceBinding containerAnnotationType, BlockScope scope) FakedTrackingVariable(FieldBinding original, BlockScope scope, ASTNode location, FlowInfo flowInfo, FlowContext flowContext, int nullStatus, boolean useAnnotations) FakedTrackingVariable(LocalVariableBinding original, BlockScope scope, ASTNode location, FlowInfo flowInfo, FlowContext flowContext, int nullStatus, boolean useAnnotations) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.codegen
Fields in org.aspectj.org.eclipse.jdt.internal.compiler.codegen with type parameters of type BlockScopeModifier and TypeFieldDescriptionCodeStream.accessorExceptionTrapScopesCodeStream.patternAccessorMapMethods in org.aspectj.org.eclipse.jdt.internal.compiler.codegen with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidCodeStream.exitUserScope(BlockScope currentScope) voidCodeStream.exitUserScope(BlockScope currentScope, Predicate<LocalVariableBinding> condition) voidCodeStream.generateStringConcatenationAppend(BlockScope blockScope, Expression oper1, Expression oper2) The equivalent code performs a string conversion:voidCodeStream.generateSyntheticEnclosingInstanceValues(BlockScope currentScope, ReferenceBinding targetType, Expression enclosingInstance, ASTNode invocationSite) Code responsible to generate the suitable code to supply values for the synthetic enclosing instance arguments of a constructor invocation of a nested type.voidCodeStream.generateSyntheticOuterArgumentValues(BlockScope currentScope, ReferenceBinding targetType, ASTNode invocationSite) Code responsible to generate the suitable code to supply values for the synthetic outer local variable arguments of a constructor invocation of a nested type.voidCodeStream.handleRecordAccessorExceptions(BlockScope scope) booleanCodeStream.patternAccessorsMayThrow(BlockScope scope) Should the reference context associated with the scope handle pattern access exceptions ?voidCodeStream.pushPatternAccessTrapScope(BlockScope scope) Stack the scope responsible for any pattern access exceptions not trapped by subscopes. -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.flow
Methods in org.aspectj.org.eclipse.jdt.internal.compiler.flow with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidFlowContext.checkExceptionHandlers(TypeBinding[] raisedExceptions, ASTNode location, FlowInfo flowInfo, BlockScope scope) voidFlowContext.checkExceptionHandlers(TypeBinding raisedException, ASTNode location, FlowInfo flowInfo, BlockScope scope) voidFlowContext.checkExceptionHandlers(TypeBinding raisedException, ASTNode location, FlowInfo flowInfo, BlockScope scope, boolean isExceptionOnAutoClose) voidInitializationFlowContext.checkInitializerExceptions(BlockScope currentScope, FlowContext initializerContext, FlowInfo flowInfo) voidExceptionHandlingFlowContext.complainIfUnusedExceptionHandlers(BlockScope scope, TryStatement tryStatement) voidFinallyFlowContext.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.voidLoopingFlowContext.complainOnDeferredFinalChecks(BlockScope scope, FlowInfo flowInfo) Perform deferred checks relative to final variables duplicate initialization of lack of initialization.voidLoopingFlowContext.complainOnDeferredNullChecks(BlockScope scope, FlowInfo callerFlowInfo) Perform deferred checks relative to the null status of local variables.voidLoopingFlowContext.complainOnDeferredNullChecks(BlockScope scope, FlowInfo callerFlowInfo, boolean updateInitsOnBreak) booleanFlowContext.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.booleanLoopingFlowContext.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.voidFlowContext.recordNullityMismatch(BlockScope currentScope, Expression expression, TypeBinding providedType, TypeBinding expectedType, FlowInfo flowInfo, int nullStatus, NullAnnotationMatching annotationStatus) Record that a nullity mismatch was detected against an annotated type reference.Constructors in org.aspectj.org.eclipse.jdt.internal.compiler.flow with parameters of type BlockScopeModifierConstructorDescriptionExceptionHandlingFlowContext(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) InitializationFlowContext(FlowContext parent, ASTNode associatedNode, FlowInfo initsBeforeContext, FlowContext initializationParent, BlockScope scope) LabelFlowContext(FlowContext parent, ASTNode associatedNode, char[] labelName, BranchLabel breakLabel, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.lookup
Subclasses of BlockScope in org.aspectj.org.eclipse.jdt.internal.compiler.lookupModifier and TypeClassDescriptionclassSpecific block scope used for methods, constructors or clinits, representing its outermost blockscope.classFields in org.aspectj.org.eclipse.jdt.internal.compiler.lookup declared as BlockScopeModifier and TypeFieldDescriptionLocalVariableBinding.declaringScopeRecordComponentBinding.declaringScopeInnerEmulationDependency.scopeBlockScope.shiftScopesMethods in org.aspectj.org.eclipse.jdt.internal.compiler.lookup that return BlockScopeModifier and TypeMethodDescriptionstatic BlockScopeScope.typeAnnotationsResolutionScope(Scope scope) Methods in org.aspectj.org.eclipse.jdt.internal.compiler.lookup with parameters of type BlockScopeModifier and TypeMethodDescriptionvoidLocalTypeBinding.addInnerEmulationDependent(BlockScope dependentScope, boolean wasEnclosingInstanceSupplied) SourceTypeBinding.addSyntheticFieldForAssert(BlockScope blockScope) SourceTypeBinding.addSyntheticFieldForClassLiteral(TypeBinding targetType, BlockScope blockScope) voidBlockScope.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.ParameterizedTypeBinding.getNonWildcardParameterization(BlockScope blockScope) InferenceContext18.inferFunctionalInterfaceParameterization(LambdaExpression lambda, BlockScope blockScope, ParameterizedTypeBinding targetTypeWithWildCards) 18.5.3 Functional Interface Parameterization InferenceInferenceContext18.inferRecordPatternParameterization(RecordPattern recordPattern, BlockScope scope2, TypeBinding candidateT) Constructors in org.aspectj.org.eclipse.jdt.internal.compiler.lookup with parameters of type BlockScopeModifierConstructorDescriptionBlockScope(BlockScope parent) BlockScope(BlockScope parent, boolean addToParentScope) BlockScope(BlockScope parent, int variableCount) InnerEmulationDependency(BlockScope scope, boolean wasEnclosingInstanceSupplied) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.core.search.matching
Methods in org.aspectj.org.eclipse.jdt.internal.core.search.matching with parameters of type BlockScopeModifier and TypeMethodDescriptionbooleanMatchLocatorParser.ClassAndMethodDeclarationVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanMatchLocatorParser.MethodButNoClassDeclarationVisitor.visit(TypeDeclaration localTypeDeclaration, BlockScope scope) booleanSuperTypeNamesCollector.TypeDeclarationVisitor.visit(TypeDeclaration typeDeclaration, BlockScope scope) -
Uses of BlockScope in org.aspectj.org.eclipse.jdt.internal.eval
Subclasses of BlockScope in org.aspectj.org.eclipse.jdt.internal.evalModifier and TypeClassDescriptionclassThis scope is used for code snippet lookup to emulate private, protected and default access.Methods in org.aspectj.org.eclipse.jdt.internal.eval with parameters of type BlockScopeModifier and TypeMethodDescriptionCodeSnippetReturnStatement.analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) booleanCodeSnippetThisReference.checkAccess(BlockScope scope, ReferenceBinding thisType) CodeSnippetQualifiedNameReference.checkFieldAccess(BlockScope scope) Check and/or redirect the field access to the delegate receiver if anyCodeSnippetSingleNameReference.checkFieldAccess(BlockScope scope) Check and/or redirect the field access to the delegate receiver if anyvoidCodeSnippetFieldReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidCodeSnippetQualifiedNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) Check and/or redirect the field access to the delegate receiver if anyvoidCodeSnippetSingleNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired) voidCodeSnippetAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidCodeSnippetFieldReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) Field reference code generationvoidCodeSnippetMessageSend.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) MessageSend code generationvoidCodeSnippetQualifiedNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidCodeSnippetSingleNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidCodeSnippetThisReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) voidCodeSnippetFieldReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidCodeSnippetQualifiedNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidCodeSnippetSingleNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, MethodBinding writeAccessor, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired) voidCodeSnippetFieldReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidCodeSnippetQualifiedNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) voidCodeSnippetSingleNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired) CodeSnippetQualifiedNameReference.generateReadSequence(BlockScope currentScope, CodeStream codeStream) CodeSnippetQualifiedNameReference.getOtherFieldBindings(BlockScope scope) CodeSnippetSingleNameReference.getReceiverType(BlockScope currentScope) Check and/or redirect the field access to the delegate receiver if anyvoidCodeSnippetAllocationExpression.manageEnclosingInstanceAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidCodeSnippetAllocationExpression.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidCodeSnippetFieldReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess) voidCodeSnippetMessageSend.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo) voidCodeSnippetQualifiedNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FieldBinding fieldBinding, int index, FlowInfo flowInfo) index is<0to denote write access emulationvoidCodeSnippetSingleNameReference.manageSyntheticAccessIfNecessary(BlockScope currentScope, FlowInfo flowInfo, boolean isReadAccess) CodeSnippetQualifiedNameReference.reportError(BlockScope scope) Normal field binding did not work, try to bind to a field of the delegate receiver.CodeSnippetSingleNameReference.reportError(BlockScope scope) Normal field binding did not work, try to bind to a field of the delegate receiver.voidCodeSnippetReturnStatement.resolve(BlockScope scope) CodeSnippetAllocationExpression.resolveType(BlockScope scope) CodeSnippetFieldReference.resolveType(BlockScope scope) CodeSnippetMessageSend.resolveType(BlockScope scope) CodeSnippetSuperReference.resolveType(BlockScope scope) CodeSnippetThisReference.resolveType(BlockScope scope) Constructors in org.aspectj.org.eclipse.jdt.internal.eval with parameters of type BlockScopeModifierConstructorDescriptionCodeSnippetScope(BlockScope parent) CodeSnippetScope constructor comment.CodeSnippetScope(BlockScope parent, int variableCount) CodeSnippetScope constructor comment.