Class EclipseEnumSwitchRewriterTransform.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.EclipseEnumSwitchRewriterTransform.Visitor
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
- Enclosing class:
- EclipseEnumSwitchRewriterTransform
private static final class EclipseEnumSwitchRewriterTransform.Visitor extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo>
_switchMaps
private static INode
SWITCH_INPUT
private static INode
SWITCH_TABLE_METHOD_BODY
-
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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
isSwitchMapField(FieldReference field)
private static boolean
isSwitchMapMethod(MethodReference method)
private static java.lang.String
makeKey(FieldReference field)
private void
rewrite()
private void
rewrite(EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo info)
private boolean
rewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)
java.lang.Void
visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
protected java.lang.Void
visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
java.lang.Void
visitSwitchStatement(SwitchStatement node, java.lang.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 Detail
-
_switchMaps
private final java.util.Map<java.lang.String,EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo> _switchMaps
-
SWITCH_INPUT
private static final INode SWITCH_INPUT
-
SWITCH_TABLE_METHOD_BODY
private static final INode SWITCH_TABLE_METHOD_BODY
-
-
Constructor Detail
-
Visitor
protected Visitor(DecompilerContext context)
-
-
Method Detail
-
visitSwitchStatement
public java.lang.Void visitSwitchStatement(SwitchStatement node, java.lang.Void data)
- Specified by:
visitSwitchStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitSwitchStatement
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
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>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
rewrite
private void rewrite()
-
rewrite
private void rewrite(EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo info)
-
rewriteSwitch
private boolean rewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)
-
isSwitchMapMethod
private static boolean isSwitchMapMethod(MethodReference method)
-
isSwitchMapField
private static boolean isSwitchMapField(FieldReference field)
-
makeKey
private static java.lang.String makeKey(FieldReference field)
-
-