Class EnumRewriterTransform.Visitor
- 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.EnumRewriterTransform.Visitor
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
- Enclosing class:
- EnumRewriterTransform
private static final class EnumRewriterTransform.Visitor extends ContextTrackingVisitor<java.lang.Void>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,FieldDeclaration>
_valueFields
private java.util.Map<java.lang.String,ObjectCreationExpression>
_valueInitializers
private MemberReference
_valuesField
private static INode
SUPER_PATTERN
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Visitor(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private MethodDeclaration
findMethodDeclaration(AstNode node)
private Statement
findStatement(AstNode node)
private MemberReference
findValuesField(TypeDeclaration declaration)
private boolean
matchesValuesField(FieldDefinition field)
private void
rewrite(java.util.LinkedHashMap<java.lang.String,FieldDeclaration> valueFields, java.util.LinkedHashMap<java.lang.String,ObjectCreationExpression> valueInitializers)
java.lang.Void
visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
java.lang.Void
visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
java.lang.Void
visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
protected java.lang.Void
visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
protected java.lang.Void
visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitMethodDeclaration, visitTypeDeclaration
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, 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
-
_valueFields
private java.util.Map<java.lang.String,FieldDeclaration> _valueFields
-
_valueInitializers
private java.util.Map<java.lang.String,ObjectCreationExpression> _valueInitializers
-
_valuesField
private MemberReference _valuesField
-
SUPER_PATTERN
private static final INode SUPER_PATTERN
-
-
Constructor Detail
-
Visitor
protected Visitor(DecompilerContext context)
-
-
Method Detail
-
visitTypeDeclarationOverride
protected java.lang.Void visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
- Overrides:
visitTypeDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
findValuesField
private MemberReference findValuesField(TypeDeclaration declaration)
-
visitFieldDeclaration
public java.lang.Void visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
- Specified by:
visitFieldDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitFieldDeclaration
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitAssignmentExpression
public java.lang.Void visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
- Specified by:
visitAssignmentExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitAssignmentExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitConstructorDeclaration
public java.lang.Void visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
- Specified by:
visitConstructorDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitConstructorDeclaration
in classContextTrackingVisitor<java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
rewrite
private void rewrite(java.util.LinkedHashMap<java.lang.String,FieldDeclaration> valueFields, java.util.LinkedHashMap<java.lang.String,ObjectCreationExpression> valueInitializers)
-
findMethodDeclaration
private MethodDeclaration findMethodDeclaration(AstNode node)
-
matchesValuesField
private boolean matchesValuesField(FieldDefinition field)
-
-