Class ConvertLoopsTransform
java.lang.Object
com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<Void,AstNode>
com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<AstNode>
com.strobel.decompiler.languages.java.ast.transforms.ConvertLoopsTransform
- All Implemented Interfaces:
IAstVisitor<Void,AstNode>, IAstTransform
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ExpressionStatementprivate static final WhileStatementprivate static final WhileStatementprivate static final WhileStatementprivate static final Statement[]private static final ForStatementprivate static final ForStatementprivate static final ForStatementprivate static final WhileStatementprivate static final ExpressionStatementFields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanConvertWhileToDoWhile(WhileStatement loop, ContinueStatement continueStatement) private Statement(package private) static StatementcanMoveVariableDeclarationIntoStatement(DecompilerContext context, VariableDeclarationStatement declaration, Statement targetStatement) (package private) static VariableDeclarationStatementfindVariableDeclaration(AstNode node, String identifier) private static booleanhasNestedBlocks(AstNode node) private static booleanisSimpleIterator(Statement statement) final WhileStatementfinal DoWhileStatementfinal ForStatementtransformFor(WhileStatement node) final ForEachStatementfinal ForEachStatementprotected AstNodevisitChildren(AstNode node, Void data) visitExpressionStatement(ExpressionStatement node, Void data) visitWhileStatement(WhileStatement node, Void data) Methods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, 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, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWildcardType
-
Field Details
-
EMPTY_STATEMENTS
-
ARRAY_INIT_PATTERN
-
FOR_ARRAY_PATTERN_1
-
FOR_ARRAY_PATTERN_2
-
FOR_ARRAY_PATTERN_3
-
GET_ITERATOR_PATTERN
-
FOR_EACH_PATTERN
-
EMPTY_FOR_EACH_PATTERN
-
DO_WHILE_PATTERN
-
CONTINUE_OUTER_PATTERN
-
-
Constructor Details
-
ConvertLoopsTransform
-
-
Method Details
-
visitChildren
- Overrides:
visitChildrenin classDepthFirstAstVisitor<Void,AstNode>
-
visitExpressionStatement
- Specified by:
visitExpressionStatementin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitExpressionStatementin classDepthFirstAstVisitor<Void,AstNode>
-
visitWhileStatement
- Specified by:
visitWhileStatementin interfaceIAstVisitor<Void,AstNode> - Overrides:
visitWhileStatementin classDepthFirstAstVisitor<Void,AstNode>
-
transformFor
-
hasNestedBlocks
-
isSimpleIterator
-
canInlineInitializerDeclarations
-
transformForEachInArray
-
transformForEach
-
transformDoWhile
-
canConvertWhileToDoWhile
-
transformContinueOuter
-
findVariableDeclaration
-
canMoveVariableDeclarationIntoStatement
static Statement canMoveVariableDeclarationIntoStatement(DecompilerContext context, VariableDeclarationStatement declaration, Statement targetStatement)
-