Class EclipseEnumSwitchRewriterTransform.Visitor
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.EclipseEnumSwitchRewriterTransform.Visitor
- All Implemented Interfaces:
IAstVisitor<Void,
,Void> IAstTransform
- Enclosing class:
EclipseEnumSwitchRewriterTransform
private static final class EclipseEnumSwitchRewriterTransform.Visitor
extends ContextTrackingVisitor<Void>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<String, EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo> private static final INode
private static final INode
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
isSwitchMapField
(FieldReference field) private static boolean
isSwitchMapMethod
(MethodReference method) private static String
makeKey
(FieldReference field) private void
rewrite()
private void
private boolean
rewriteSwitch
(SwitchStatement s, Map<Integer, Expression> mappings) visitFieldDeclaration
(FieldDeclaration node, Void data) protected Void
visitSwitchStatement
(SwitchStatement node, Void data) Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, 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, 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, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
Field Details
-
_switchMaps
-
SWITCH_INPUT
-
SWITCH_TABLE_METHOD_BODY
-
-
Constructor Details
-
Visitor
-
-
Method Details
-
visitSwitchStatement
- Specified by:
visitSwitchStatement
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitSwitchStatement
in classDepthFirstAstVisitor<Void,
Void>
-
visitFieldDeclaration
- Specified by:
visitFieldDeclaration
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitFieldDeclaration
in classDepthFirstAstVisitor<Void,
Void>
-
visitMethodDeclarationOverride
- Overrides:
visitMethodDeclarationOverride
in classContextTrackingVisitor<Void>
-
rewrite
private void rewrite() -
rewrite
-
rewriteSwitch
-
isSwitchMapMethod
-
isSwitchMapField
-
makeKey
-