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 classRewriteSwitchExpressionsTransform.CaseInfoprivate classRewriteSwitchExpressionsTransform.SwitchExpressionInlining(package private) static classRewriteSwitchExpressionsTransform.SwitchInfo
-
Field Summary
Fields Modifier and Type Field Description private ExpressionStatementfirstResultAssignmentprivate ExpressionStatementresultAssignmentprivate VariableDeclarationStatementresultDeclaration-
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 voidrewrite(SwitchStatement node, RewriteSwitchExpressionsTransform.SwitchInfo info)voidrun(AstNode compilationUnit)java.lang.VoidvisitSwitchStatement(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:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
visitSwitchStatement
public java.lang.Void visitSwitchStatement(SwitchStatement switchNode, java.lang.Void data)
- Specified by:
visitSwitchStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitSwitchStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
rewrite
private void rewrite(SwitchStatement node, RewriteSwitchExpressionsTransform.SwitchInfo info)
-
-