@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) { 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) { if (tree.condition() instanceof BinaryExpressionTree) { DoWhileBinaryExpressionVisitor visitor = new DoWhileBinaryExpressionVisitor(); tree.condition().accept(visitor); if (visitor.containsResourceComparison()) { checkModelProviderCall(tree, 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); }
@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) { currentState.invalidateVariables(new AssignmentVisitor().findAssignedVariables(tree.statement())); currentState = new State(currentState); scan(tree.statement()); scan(tree.condition()); restorePreviousState(); }
return isTrue(((DoWhileStatementTree) loopTree).condition()); default:
return isTrue(((DoWhileStatementTree) loopTree).condition()); default:
return; case DO_STATEMENT: ExpressionTree doCondition = ((DoWhileStatementTree) terminator).condition(); handleBranch(block, cleanupCondition(doCondition), verifyCondition(doCondition)); return;
return; case DO_STATEMENT: ExpressionTree doCondition = ((DoWhileStatementTree) terminator).condition(); handleBranch(block, cleanupCondition(doCondition), verifyCondition(doCondition)); return;
return; case DO_STATEMENT: ExpressionTree doCondition = ((DoWhileStatementTree) terminator).condition(); handleBranch(block, cleanupCondition(doCondition), !doCondition.is(Tree.Kind.BOOLEAN_LITERAL)); return;