Class EliminateSyntheticAccessorsTransform
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<java.lang.Void>
-
- com.strobel.decompiler.languages.java.ast.transforms.EliminateSyntheticAccessorsTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class EliminateSyntheticAccessorsTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
EliminateSyntheticAccessorsTransform.PhaseOneVisitor
private class
EliminateSyntheticAccessorsTransform.ReplaceSuperReferencesVisitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,MethodDeclaration>
_accessMethodDeclarations
private java.util.List<AstNode>
_nodesToRemove
private java.util.Set<java.lang.String>
_visitedTypes
private static MethodDeclaration
SYNTHETIC_GET_ACCESSOR
private static MethodDeclaration
SYNTHETIC_SET_ACCESSOR
private static MethodDeclaration
SYNTHETIC_SET_ACCESSOR_ALT
private static MethodDeclaration
SYNTHETIC_STATIC_GET_ACCESSOR
private static MethodDeclaration
SYNTHETIC_STATIC_SET_ACCESSOR
private static MethodDeclaration
SYNTHETIC_STATIC_SET_ACCESSOR_ALT
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description EliminateSyntheticAccessorsTransform(DecompilerContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
isThisOrOuterThisReference(Expression e)
private static java.lang.String
makeMethodKey(MethodReference method)
void
run(AstNode compilationUnit)
java.lang.Void
visitInvocationExpression(InvocationExpression node, java.lang.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, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, 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 Detail
-
_nodesToRemove
private final java.util.List<AstNode> _nodesToRemove
-
_accessMethodDeclarations
private final java.util.Map<java.lang.String,MethodDeclaration> _accessMethodDeclarations
-
_visitedTypes
private final java.util.Set<java.lang.String> _visitedTypes
-
SYNTHETIC_GET_ACCESSOR
private static final MethodDeclaration SYNTHETIC_GET_ACCESSOR
-
SYNTHETIC_SET_ACCESSOR
private static final MethodDeclaration SYNTHETIC_SET_ACCESSOR
-
SYNTHETIC_SET_ACCESSOR_ALT
private static final MethodDeclaration SYNTHETIC_SET_ACCESSOR_ALT
-
SYNTHETIC_STATIC_GET_ACCESSOR
private static final MethodDeclaration SYNTHETIC_STATIC_GET_ACCESSOR
-
SYNTHETIC_STATIC_SET_ACCESSOR
private static final MethodDeclaration SYNTHETIC_STATIC_SET_ACCESSOR
-
SYNTHETIC_STATIC_SET_ACCESSOR_ALT
private static final MethodDeclaration SYNTHETIC_STATIC_SET_ACCESSOR_ALT
-
-
Constructor Detail
-
EliminateSyntheticAccessorsTransform
public EliminateSyntheticAccessorsTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
makeMethodKey
private static java.lang.String makeMethodKey(MethodReference method)
-
visitInvocationExpression
public java.lang.Void visitInvocationExpression(InvocationExpression node, java.lang.Void data)
- Specified by:
visitInvocationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitInvocationExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
isThisOrOuterThisReference
private static boolean isThisOrOuterThisReference(Expression e)
-
-