Class EnumSwitchRewriterTransform.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.EnumSwitchRewriterTransform.Visitor
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>,IAstTransform
- Enclosing class:
- EnumSwitchRewriterTransform
private static final class EnumSwitchRewriterTransform.Visitor extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classEnumSwitchRewriterTransform.Visitor.SwitchMapInfo
-
Field Summary
Fields Modifier and Type Field Description private boolean_isSwitchMapWrapperprivate StrongBox<Expression>_scratchprivate java.util.Map<java.lang.String,EnumSwitchRewriterTransform.Visitor.SwitchMapInfo>_switchMaps-
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 booleanisSwitchMapLookup(Expression e, StrongBox<Expression> enumValue)private static booleanisSwitchMapWrapper(TypeReference type)private voidrewrite()private voidrewrite(EnumSwitchRewriterTransform.Visitor.SwitchMapInfo info)private booleanrewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)java.lang.VoidvisitAssignmentExpression(AssignmentExpression node, java.lang.Void data)java.lang.VoidvisitIndexerExpression(IndexerExpression node, java.lang.Void data)java.lang.VoidvisitSwitchStatement(SwitchStatement node, java.lang.Void data)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, 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 Detail
-
_scratch
private final StrongBox<Expression> _scratch
-
_switchMaps
private final java.util.Map<java.lang.String,EnumSwitchRewriterTransform.Visitor.SwitchMapInfo> _switchMaps
-
_isSwitchMapWrapper
private boolean _isSwitchMapWrapper
-
-
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>
-
visitIndexerExpression
public java.lang.Void visitIndexerExpression(IndexerExpression node, java.lang.Void data)
- Specified by:
visitIndexerExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitIndexerExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
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>
-
isSwitchMapLookup
private boolean isSwitchMapLookup(Expression e, StrongBox<Expression> enumValue)
-
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>
-
rewrite
private void rewrite()
-
rewrite
private void rewrite(EnumSwitchRewriterTransform.Visitor.SwitchMapInfo info)
-
rewriteSwitch
private boolean rewriteSwitch(SwitchStatement s, java.util.Map<java.lang.Integer,Expression> mappings)
-
isSwitchMapWrapper
private static boolean isSwitchMapWrapper(TypeReference type)
-
-