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 com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
void
private boolean
tryInsertOuterClassReference
(MemberReferenceExpression node, MemberReference reference) private boolean
tryIntroduceOuterClassReference
(MemberReferenceExpression node, boolean hasThisOnLeft) visitIdentifierExpression
(IdentifierExpression node, Void data) visitInvocationExpression
(InvocationExpression node, Void data) Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverride
Methods inherited from class com.strobel.decompiler.languages.java.ast.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:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<Void>
-
visitInvocationExpression
- Specified by:
visitInvocationExpression
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitInvocationExpression
in classDepthFirstAstVisitor<Void,
Void>
-
visitMemberReferenceExpression
- Specified by:
visitMemberReferenceExpression
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitMemberReferenceExpression
in classDepthFirstAstVisitor<Void,
Void>
-
tryIntroduceOuterClassReference
private boolean tryIntroduceOuterClassReference(MemberReferenceExpression node, boolean hasThisOnLeft) -
visitIdentifierExpression
- Specified by:
visitIdentifierExpression
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitIdentifierExpression
in classDepthFirstAstVisitor<Void,
Void>
-
tryInsertOuterClassReference
private boolean tryInsertOuterClassReference(MemberReferenceExpression node, MemberReference reference) -
isContextWithinTypeInstance
-