@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { checkBlock(tree.doKeyword(), tree.statement()); super.visitDoWhileStatement(tree); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { scan(tree.statement()); scan(tree.condition()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { scan(tree.statement()); scan(tree.condition()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { visitStatement(tree.statement()); scan(tree.condition()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { scan(tree.statement()); scan(tree.condition()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { scan(tree.statement()); scan(tree.condition()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { checkBlock(tree.doKeyword(), tree.statement()); super.visitDoWhileStatement(tree); }
private void buildDoWhileStatement(DoWhileStatementTree doWhileStatementTree) { Block falseBranch = currentBlock; Block loopback = createBlock(); // process condition currentBlock = createBranch(doWhileStatementTree, loopback, falseBranch); buildCondition(doWhileStatementTree.condition(), loopback, falseBranch); // process body addContinueTarget(currentBlock); currentBlock = createBlock(currentBlock); breakTargets.addLast(falseBranch); build(doWhileStatementTree.statement()); breakTargets.removeLast(); continueTargets.removeLast(); loopback.addSuccessor(currentBlock); currentBlock = createBlock(currentBlock); }
private void buildDoWhileStatement(DoWhileStatementTree doWhileStatementTree) { Block falseBranch = currentBlock; Block loopback = createBlock(); // process condition currentBlock = createBranch(doWhileStatementTree, loopback, falseBranch); buildCondition(doWhileStatementTree.condition(), loopback, falseBranch); // process body addContinueTarget(currentBlock); currentBlock = createBlock(currentBlock); breakTargets.addLast(falseBranch); build(doWhileStatementTree.statement()); breakTargets.removeLast(); continueTargets.removeLast(); loopback.addSuccessor(currentBlock); currentBlock = createBlock(currentBlock); }
private void buildDoWhileStatement(DoWhileStatementTree doWhileStatementTree) { Block falseBranch = currentBlock; Block loopback = createBlock(); // process condition currentBlock = createBranch(doWhileStatementTree, loopback, falseBranch); buildCondition(doWhileStatementTree.condition(), loopback, falseBranch); // process body currentBlock = createBlock(currentBlock); addContinueTarget(loopback); breakTargets.addLast(falseBranch); build(doWhileStatementTree.statement()); breakTargets.removeLast(); continueTargets.removeLast(); loopback.addSuccessor(currentBlock); currentBlock = createBlock(currentBlock); }
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; }
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; }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { if (tree.condition() instanceof BinaryExpressionTree) { DoWhileBinaryExpressionVisitor visitor = new DoWhileBinaryExpressionVisitor(); tree.condition().accept(visitor); if (visitor.containsResourceComparison()) { checkModelProviderCall(tree, tree.statement()); } } super.visitDoWhileStatement(tree); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { // do not scan the condition addLine(tree.doKeyword()); if (tree.doKeyword().line() != tree.whileKeyword().line()) { addLines(tree.whileKeyword(), tree.semicolonToken()); } scan(tree.statement()); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { Set<Symbol.VariableSymbol> assignedSymbols = extractor.findAssignedVariables(tree); invalidateAssignedVariables(assignedSymbols); currentStates = evaluateStatement(currentStates, tree.statement()); PackedStatementStates nextStates = PackedStatementStates.instantiate(); for (ExecutionState state : currentStates) { if (evaluateExpression(state, tree.condition()) != SymbolicBooleanConstraint.TRUE) { nextStates.addState(state); } } currentStates = nextStates; invalidateAssignedVariables(assignedSymbols); }
@Override public void visitDoWhileStatement(DoWhileStatementTree tree) { // do not scan the condition addLine(tree.doKeyword()); if (tree.doKeyword().line() != tree.whileKeyword().line()) { addLines(tree.whileKeyword(), tree.semicolonToken()); } scan(tree.statement()); }
@Override public void visitNode(Tree tree) { switch (((JavaTree) tree).getKind()) { case WHILE_STATEMENT: checkStatement(((WhileStatementTree) tree).statement(), tree); break; case DO_STATEMENT: checkStatement(((DoWhileStatementTree) tree).statement(), tree); break; case FOR_STATEMENT: checkStatement(((ForStatementTree) tree).statement(), tree); break; case FOR_EACH_STATEMENT: checkStatement(((ForEachStatement) tree).statement(), tree); break; case IF_STATEMENT: IfStatementTree ifStmt = (IfStatementTree) tree; checkIfStatement(ifStmt); break; default: break; } }
@Override public void visitNode(Tree tree) { switch (tree.kind()) { case WHILE_STATEMENT: WhileStatementTree whileStatementTree = (WhileStatementTree) tree; checkStatement(whileStatementTree.whileKeyword(), whileStatementTree.statement()); break; case DO_STATEMENT: DoWhileStatementTree doWhileStatementTree = (DoWhileStatementTree) tree; checkStatement(doWhileStatementTree.doKeyword(), doWhileStatementTree.statement()); break; case FOR_STATEMENT: ForStatementTree forStatementTree = (ForStatementTree) tree; checkStatement(forStatementTree.forKeyword(), forStatementTree.statement()); break; case FOR_EACH_STATEMENT: ForEachStatement forEachStatement = (ForEachStatement) tree; checkStatement(forEachStatement.forKeyword(), forEachStatement.statement()); break; case IF_STATEMENT: checkIfStatement((IfStatementTree) tree); break; default: break; } }