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>_valueFieldsprivate java.util.Map<java.lang.String,ObjectCreationExpression>_valueInitializersprivate MemberReference_valuesFieldprivate static INodeSUPER_PATTERN-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedVisitor(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private MethodDeclarationfindMethodDeclaration(AstNode node)private StatementfindStatement(AstNode node)private MemberReferencefindValuesField(TypeDeclaration declaration)private booleanmatchesValuesField(FieldDefinition field)private voidrewrite(java.util.LinkedHashMap<java.lang.String,FieldDeclaration> valueFields, java.util.LinkedHashMap<java.lang.String,ObjectCreationExpression> valueInitializers)java.lang.VoidvisitAssignmentExpression(AssignmentExpression node, java.lang.Void data)java.lang.VoidvisitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)java.lang.VoidvisitFieldDeclaration(FieldDeclaration node, java.lang.Void data)protected java.lang.VoidvisitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)protected java.lang.VoidvisitTypeDeclarationOverride(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:
visitTypeDeclarationOverridein classContextTrackingVisitor<java.lang.Void>
-
findValuesField
private MemberReference findValuesField(TypeDeclaration declaration)
-
visitFieldDeclaration
public java.lang.Void visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
- Specified by:
visitFieldDeclarationin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitFieldDeclarationin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitAssignmentExpression
public java.lang.Void visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitConstructorDeclaration
public java.lang.Void visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
- Specified by:
visitConstructorDeclarationin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitConstructorDeclarationin classContextTrackingVisitor<java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverridein 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)
-
-