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 classEclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo>_switchMapsprivate static INodeSWITCH_INPUTprivate static INodeSWITCH_TABLE_METHOD_BODY-
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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static booleanisSwitchMapField(FieldReference field)private static booleanisSwitchMapMethod(MethodReference method)private static java.lang.StringmakeKey(FieldReference field)private voidrewrite()private voidrewrite(EclipseEnumSwitchRewriterTransform.Visitor.SwitchMapInfo info)private booleanrewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)java.lang.VoidvisitFieldDeclaration(FieldDeclaration node, java.lang.Void data)protected java.lang.VoidvisitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)java.lang.VoidvisitSwitchStatement(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:
visitSwitchStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitSwitchStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
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>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverridein 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)
-
-