if (previousStatement instanceof BlockStatement || hasNestedBlocks(previousStatement)) { for (final ControlFlowEdge e : from.getIncoming()) { if (visited.add(e)) { final Statement s = iteratorSites[0]; if (s != null && !s.isNull() && s.isEmbeddable() && isSimpleIterator(s)/* && areCorrelated(condition, s)*/) { for (int i = 1; i < iteratorSites.length; i++) { final Statement o = iteratorSites[i]; final Statement firstInlinableInitializer = canInlineInitializerDeclarations(forLoop); final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Expression initValue = assignment.getRight();
@Override public AstNode visitWhileStatement(final WhileStatement node, final Void data) { // super.visitWhileStatement(node, data); final ForStatement forLoop = transformFor(node); if (forLoop != null) { if (!context.getSettings().getDisableForEachTransforms()) { final AstNode forEachInArray = transformForEachInArray(forLoop); if (forEachInArray != null) { return forEachInArray.acceptVisitor(this, data); } } return forLoop.acceptVisitor(this, data); } final DoWhileStatement doWhile = transformDoWhile(node); if (doWhile != null) { return doWhile.acceptVisitor(this, data); } return visitChildren(transformContinueOuter(node), data); }
final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, declaration, forLoop);
new RemoveImplicitBoxingTransform(context), new RemoveRedundantCastsTransform(context), new ConvertLoopsTransform(context), new BreakTargetRelocation(context), new LabelCleanupTransform(context),
public final DoWhileStatement transformDoWhile(final WhileStatement loop) { final Match m = DO_WHILE_PATTERN.match(loop); if (!m.success() || !canConvertWhileToDoWhile(loop, firstOrDefault(m.<ContinueStatement>get("continueStatement")))) { return null;
final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, declaration, forLoop);
new RemoveImplicitBoxingTransform(context), new RemoveRedundantCastsTransform(context), new ConvertLoopsTransform(context), new BreakTargetRelocation(context), new LabelCleanupTransform(context),
public final DoWhileStatement transformDoWhile(final WhileStatement loop) { final Match m = DO_WHILE_PATTERN.match(loop); if (!m.success() || !canConvertWhileToDoWhile(loop, firstOrDefault(m.<ContinueStatement>get("continueStatement")))) { return null;
@Override public AstNode visitWhileStatement(final WhileStatement node, final Void data) { // super.visitWhileStatement(node, data); final ForStatement forLoop = transformFor(node); if (forLoop != null) { if (!context.getSettings().getDisableForEachTransforms()) { final AstNode forEachInArray = transformForEachInArray(forLoop); if (forEachInArray != null) { return forEachInArray.acceptVisitor(this, data); } } return forLoop.acceptVisitor(this, data); } final DoWhileStatement doWhile = transformDoWhile(node); if (doWhile != null) { return doWhile.acceptVisitor(this, data); } return visitChildren(transformContinueOuter(node), data); }
final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, declaration, forLoop);
if (previousStatement instanceof BlockStatement || hasNestedBlocks(previousStatement)) { for (final ControlFlowEdge e : from.getIncoming()) { if (visited.add(e)) { final Statement s = iteratorSites[0]; if (s != null && !s.isNull() && s.isEmbeddable() && isSimpleIterator(s)/* && areCorrelated(condition, s)*/) { for (int i = 1; i < iteratorSites.length; i++) { final Statement o = iteratorSites[i]; final Statement firstInlinableInitializer = canInlineInitializerDeclarations(forLoop); final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Expression initValue = assignment.getRight();
new RemoveImplicitBoxingTransform(context), new RemoveRedundantCastsTransform(context), new ConvertLoopsTransform(context), new BreakTargetRelocation(context), new LabelCleanupTransform(context),
public final DoWhileStatement transformDoWhile(final WhileStatement loop) { final Match m = DO_WHILE_PATTERN.match(loop); if (!m.success() || !canConvertWhileToDoWhile(loop, firstOrDefault(m.<ContinueStatement>get("continueStatement")))) { return null;
@Override public AstNode visitWhileStatement(final WhileStatement node, final Void data) { // super.visitWhileStatement(node, data); final ForStatement forLoop = transformFor(node); if (forLoop != null) { if (!context.getSettings().getDisableForEachTransforms()) { final AstNode forEachInArray = transformForEachInArray(forLoop); if (forEachInArray != null) { return forEachInArray.acceptVisitor(this, data); } } return forLoop.acceptVisitor(this, data); } final DoWhileStatement doWhile = transformDoWhile(node); if (doWhile != null) { return doWhile.acceptVisitor(this, data); } return visitChildren(transformContinueOuter(node), data); }
final VariableDeclarationStatement iteratorDeclaration = findVariableDeclaration(loop, iterator.getIdentifier()); final VariableDeclarationStatement itemDeclaration = findVariableDeclaration(loop, item.getIdentifier()); Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, itemDeclaration, loop); declarationPoint = canMoveVariableDeclarationIntoStatement(context, iteratorDeclaration, forEach);
if (previousStatement instanceof BlockStatement || hasNestedBlocks(previousStatement)) { for (final ControlFlowEdge e : from.getIncoming()) { if (visited.add(e)) { final Statement s = iteratorSites[0]; if (s != null && !s.isNull() && s.isEmbeddable() && isSimpleIterator(s)/* && areCorrelated(condition, s)*/) { for (int i = 1; i < iteratorSites.length; i++) { final Statement o = iteratorSites[i]; final Statement firstInlinableInitializer = canInlineInitializerDeclarations(forLoop); final IdentifierExpression variable = (IdentifierExpression) assignment.getLeft(); final String variableName = variable.getIdentifier(); final VariableDeclarationStatement declaration = findVariableDeclaration(forLoop, variableName); final Expression initValue = assignment.getRight();
final VariableDeclarationStatement iteratorDeclaration = findVariableDeclaration(loop, iterator.getIdentifier()); final VariableDeclarationStatement itemDeclaration = findVariableDeclaration(loop, item.getIdentifier()); Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, itemDeclaration, loop); declarationPoint = canMoveVariableDeclarationIntoStatement(context, iteratorDeclaration, forEach);
final VariableDeclarationStatement iteratorDeclaration = findVariableDeclaration(loop, iterator.getIdentifier()); final VariableDeclarationStatement itemDeclaration = findVariableDeclaration(loop, item.getIdentifier()); Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, itemDeclaration, loop); declarationPoint = canMoveVariableDeclarationIntoStatement(context, iteratorDeclaration, forEach);
final VariableDeclarationStatement itemDeclaration = findVariableDeclaration(loop, item.getIdentifier()); final Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, itemDeclaration, loop); final VariableDeclarationStatement arrayDeclaration = findVariableDeclaration(forEach, array.getIdentifier()); final Statement arrayDeclarationPoint = canMoveVariableDeclarationIntoStatement(context, arrayDeclaration, forEach);
final VariableDeclarationStatement itemDeclaration = findVariableDeclaration(loop, item.getIdentifier()); final Statement declarationPoint = canMoveVariableDeclarationIntoStatement(context, itemDeclaration, loop); final VariableDeclarationStatement arrayDeclaration = findVariableDeclaration(forEach, array.getIdentifier()); final Statement arrayDeclarationPoint = canMoveVariableDeclarationIntoStatement(context, arrayDeclaration, forEach);