Class EnumSwitchRewriterTransform.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.EnumSwitchRewriterTransform.Visitor
- All Implemented Interfaces:
IAstVisitor<Void,
,Void> IAstTransform
- Enclosing class:
EnumSwitchRewriterTransform
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private final StrongBox
<Expression> private final Map
<String, EnumSwitchRewriterTransform.Visitor.SwitchMapInfo> Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
isSwitchMapLookup
(Expression e, StrongBox<Expression> enumValue) private static boolean
private void
rewrite()
private void
private boolean
rewriteSwitch
(SwitchStatement s, Map<Integer, Expression> mappings) visitAssignmentExpression
(AssignmentExpression node, Void data) visitIndexerExpression
(IndexerExpression node, Void data) visitSwitchStatement
(SwitchStatement node, Void data) protected Void
visitTypeDeclarationOverride
(TypeDeclaration typeDeclaration, Void p) Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, 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, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, 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
-
_scratch
-
_switchMaps
-
_isSwitchMapWrapper
private boolean _isSwitchMapWrapper
-
-
Constructor Details
-
Visitor
-
-
Method Details
-
visitTypeDeclarationOverride
- Overrides:
visitTypeDeclarationOverride
in classContextTrackingVisitor<Void>
-
visitIndexerExpression
- Specified by:
visitIndexerExpression
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitIndexerExpression
in classDepthFirstAstVisitor<Void,
Void>
-
visitSwitchStatement
- Specified by:
visitSwitchStatement
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitSwitchStatement
in classDepthFirstAstVisitor<Void,
Void>
-
isSwitchMapLookup
-
visitAssignmentExpression
- Specified by:
visitAssignmentExpression
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitAssignmentExpression
in classDepthFirstAstVisitor<Void,
Void>
-
rewrite
private void rewrite() -
rewrite
-
rewriteSwitch
-
isSwitchMapWrapper
-