@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.condition()); scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { checkBlock(tree.closeParenToken(), tree.statement()); super.visitWhileStatement(tree); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.condition()); visitStatement(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.condition()); scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.condition()); scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { scan(tree.condition()); scan(tree.statement()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { checkBlock(tree.closeParenToken(), tree.statement()); super.visitWhileStatement(tree); }
@Override public void visitWhileStatement(WhileStatementTree tree) { checkModelProviderInLoop(tree, tree.condition(), tree.statement()); super.visitWhileStatement(tree); }
@Override public void visitWhileStatement(WhileStatementTree tree) { ConditionalState conditionalState = visitCondition(tree.condition()); Set<VariableSymbol> assignedVariables = new AssignmentVisitor().findAssignedVariables(tree.statement()); currentState = conditionalState.trueState; currentState.invalidateVariables(assignedVariables); scan(tree.statement()); restorePreviousState(); currentState.invalidateVariables(assignedVariables); }
private void buildWhileStatement(WhileStatementTree whileStatement) { Block falseBranch = currentBlock; Block loopback = createBlock(); // process body currentBlock = createBlock(loopback); addContinueTarget(loopback); breakTargets.addLast(falseBranch); build(whileStatement.statement()); breakTargets.removeLast(); continueTargets.removeLast(); Block bodyBlock = currentBlock; // process condition currentBlock = createBranch(whileStatement, bodyBlock, falseBranch); buildCondition(whileStatement.condition(), bodyBlock, falseBranch); loopback.addSuccessor(currentBlock); currentBlock = createBlock(currentBlock); }
@Override public void visitWhileStatement(WhileStatementTree tree) { super.visitWhileStatement(tree); checkForReport(tree.statement(), tree.whileKeyword(), tree.closeParenToken(), tree.whileKeyword().text()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { super.visitWhileStatement(tree); checkForReport(tree.statement(), tree.whileKeyword(), tree.closeParenToken(), tree.whileKeyword().text()); }
@Override public void visitWhileStatement(WhileStatementTree tree) { Set<Symbol.VariableSymbol> assignedSymbols = extractor.findAssignedVariables(tree); invalidateAssignedVariables(assignedSymbols); PackedStatementStates nextStates = PackedStatementStates.instantiate(); for (ExecutionState state : currentStates) { PackedStates conditionStates = evaluateCondition(state, tree.condition()); PackedStatementStates loopStates = evaluateStatement(conditionStates.trueStates, tree.statement()); if (!conditionStates.falseStates.isEmpty() || !loopStates.isEmpty()) { state.mergeRelations(Iterables.concat(conditionStates.falseStates, loopStates)); nextStates.addState(state); } } currentStates = nextStates; invalidateAssignedVariables(assignedSymbols); }
private static Tree loopStatement(Tree loopTree) { if (loopTree.is(Tree.Kind.FOR_STATEMENT)) { return ((ForStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.DO_STATEMENT)) { return ((DoWhileStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.WHILE_STATEMENT)) { return ((WhileStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.FOR_EACH_STATEMENT)) { return ((ForEachStatement) loopTree).statement(); } return null; }
private Tree loopStatement(Tree loopTree) { if(loopTree.is(Tree.Kind.FOR_STATEMENT)) { return ((ForStatementTree) loopTree).statement(); } else if(loopTree.is(Tree.Kind.DO_STATEMENT)) { return ((DoWhileStatementTree) loopTree).statement(); } else if(loopTree.is(Tree.Kind.WHILE_STATEMENT)) { return ((WhileStatementTree) loopTree).statement(); } else if(loopTree.is(Tree.Kind.FOR_EACH_STATEMENT)) { return ((ForEachStatement) loopTree).statement(); } return null; }
private static Tree loopStatement(Tree loopTree) { if (loopTree.is(Tree.Kind.FOR_STATEMENT)) { return ((ForStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.DO_STATEMENT)) { return ((DoWhileStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.WHILE_STATEMENT)) { return ((WhileStatementTree) loopTree).statement(); } else if (loopTree.is(Tree.Kind.FOR_EACH_STATEMENT)) { return ((ForEachStatement) loopTree).statement(); } return null; }