Class IntroduceOuterClassReferencesTransform
java.lang.Object
com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<Void,Void>
com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<Void>
com.strobel.decompiler.languages.java.ast.transforms.IntroduceOuterClassReferencesTransform
- All Implemented Interfaces:
IAstVisitor<Void,Void>, IAstTransform
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class -
Field Summary
FieldsFields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanvoidprivate booleantryInsertOuterClassReference(MemberReferenceExpression node, MemberReference reference) private booleantryIntroduceOuterClassReference(MemberReferenceExpression node, boolean hasThisOnLeft) visitIdentifierExpression(IdentifierExpression node, Void data) visitInvocationExpression(InvocationExpression node, Void data) Methods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
Field Details
-
_nodesToRemove
-
_outerClassFields
-
_parametersToRemove
-
-
Constructor Details
-
IntroduceOuterClassReferencesTransform
-
-
Method Details
-
run
- Specified by:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<Void>
-
visitInvocationExpression
- Specified by:
visitInvocationExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitInvocationExpressionin classDepthFirstAstVisitor<Void,Void>
-
visitMemberReferenceExpression
- Specified by:
visitMemberReferenceExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitMemberReferenceExpressionin classDepthFirstAstVisitor<Void,Void>
-
tryIntroduceOuterClassReference
private boolean tryIntroduceOuterClassReference(MemberReferenceExpression node, boolean hasThisOnLeft) -
visitIdentifierExpression
- Specified by:
visitIdentifierExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitIdentifierExpressionin classDepthFirstAstVisitor<Void,Void>
-
tryInsertOuterClassReference
private boolean tryInsertOuterClassReference(MemberReferenceExpression node, MemberReference reference) -
isContextWithinTypeInstance
-