Class RewriteSwitchExpressionsTransform
- 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.RewriteSwitchExpressionsTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class RewriteSwitchExpressionsTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
RewriteSwitchExpressionsTransform.CaseInfo
private class
RewriteSwitchExpressionsTransform.SwitchExpressionInlining
(package private) static class
RewriteSwitchExpressionsTransform.SwitchInfo
-
Field Summary
Fields Modifier and Type Field Description private ExpressionStatement
firstResultAssignment
private ExpressionStatement
resultAssignment
private VariableDeclarationStatement
resultDeclaration
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description RewriteSwitchExpressionsTransform(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
rewrite(SwitchStatement node, RewriteSwitchExpressionsTransform.SwitchInfo info)
void
run(AstNode compilationUnit)
java.lang.Void
visitSwitchStatement(SwitchStatement switchNode, java.lang.Void data)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, 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, visitFieldDeclaration, 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
-
resultAssignment
private final ExpressionStatement resultAssignment
-
firstResultAssignment
private final ExpressionStatement firstResultAssignment
-
resultDeclaration
private final VariableDeclarationStatement resultDeclaration
-
-
Constructor Detail
-
RewriteSwitchExpressionsTransform
public RewriteSwitchExpressionsTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
visitSwitchStatement
public java.lang.Void visitSwitchStatement(SwitchStatement switchNode, 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>
-
rewrite
private void rewrite(SwitchStatement node, RewriteSwitchExpressionsTransform.SwitchInfo info)
-
-