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 classEliminateSyntheticAccessorsTransform.PhaseOneVisitorprivate classEliminateSyntheticAccessorsTransform.ReplaceSuperReferencesVisitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,MethodDeclaration>_accessMethodDeclarationsprivate java.util.List<AstNode>_nodesToRemoveprivate java.util.Set<java.lang.String>_visitedTypesprivate static MethodDeclarationSYNTHETIC_GET_ACCESSORprivate static MethodDeclarationSYNTHETIC_SET_ACCESSORprivate static MethodDeclarationSYNTHETIC_SET_ACCESSOR_ALTprivate static MethodDeclarationSYNTHETIC_STATIC_GET_ACCESSORprivate static MethodDeclarationSYNTHETIC_STATIC_SET_ACCESSORprivate static MethodDeclarationSYNTHETIC_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 booleanisThisOrOuterThisReference(Expression e)private static java.lang.StringmakeMethodKey(MethodReference method)voidrun(AstNode compilationUnit)java.lang.VoidvisitInvocationExpression(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:
runin interfaceIAstTransform- Overrides:
runin 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:
visitInvocationExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitInvocationExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
isThisOrOuterThisReference
private static boolean isThisOrOuterThisReference(Expression e)
-
-