public static Statement ifElseS(Expression cond, Statement thenStmt, Statement elseStmt) { return new IfStatement( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), thenStmt, elseStmt ); }
@Override public void visitIfElse(IfStatement stat) { stat.setBooleanExpression((BooleanExpression)replaceExpr(stat.getBooleanExpression())); stat.setIfBlock(replace(stat.getIfBlock())); stat.setElseBlock(replace(stat.getElseBlock())); }
public void visitIfElse(IfStatement ifElse) { ifElse.setBooleanExpression((BooleanExpression) (transform(ifElse.getBooleanExpression()))); ifElse.getIfBlock().visit(this); ifElse.getElseBlock().visit(this); }
public void visitIfElse(IfStatement ifElse) { ifElse.getBooleanExpression().visit(this); ifElse.getIfBlock().visit(this); Statement elseBlock = ifElse.getElseBlock(); if (elseBlock instanceof EmptyStatement) { // dispatching to EmptyStatement will not call back visitor, // must call our visitEmptyStatement explicitly visitEmptyStatement((EmptyStatement) elseBlock); } else { elseBlock.visit(this); } }
public static boolean expressionIsNullCheck(ASTNode node) { if (!(node instanceof IfStatement)) { return false; } if ((((IfStatement) node).getBooleanExpression() == null)) { return false; } BooleanExpression booleanExp = ((IfStatement) node).getBooleanExpression(); if (isBinaryExpressionType(booleanExp.getExpression(), "==")) { if (isNull(((BinaryExpression)booleanExp.getExpression()).getLeftExpression()) && ((BinaryExpression) booleanExp.getExpression()).getRightExpression() instanceof VariableExpression) { return true; } else if (isNull(((BinaryExpression) booleanExp.getExpression()).getRightExpression()) && ((BinaryExpression) booleanExp.getExpression()).getLeftExpression() instanceof VariableExpression) { return true; } } else if (booleanExp.getExpression() instanceof NotExpression && ((NotExpression) booleanExp.getExpression()).getExpression() instanceof VariableExpression) { return true; } return false; }
public void visitIfElse(final IfStatement ifElse) { assertStatementAuthorized(ifElse); ifElse.getBooleanExpression().visit(this); ifElse.getIfBlock().visit(this); Statement elseBlock = ifElse.getElseBlock(); if (elseBlock instanceof EmptyStatement) { // dispatching to EmptyStatement will not call back visitor, // must call our visitEmptyStatement explicitly visitEmptyStatement((EmptyStatement) elseBlock); } else { elseBlock.visit(this); } }
public void visitIfElse(IfStatement ifElse) { ifElse.setBooleanExpression((BooleanExpression) (transform(ifElse.getBooleanExpression()))); ifElse.getIfBlock().visit(this); ifElse.getElseBlock().visit(this); }
@Override public void visitIfElse(IfStatement stat) { stat.getBooleanExpression().visit(this); stat.setIfBlock(replace(stat.getIfBlock())); stat.setElseBlock(replace(stat.getElseBlock())); }
public void visitIfElse(IfStatement ifElse) { ifElse.getBooleanExpression().visit(this); pushState(); ifElse.getIfBlock().visit(this); popState(); pushState(); ifElse.getElseBlock().visit(this); popState(); }
public static Statement ifS(Expression cond, Statement trueStmt) { return new IfStatement( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), trueStmt, EmptyStatement.INSTANCE ); }
public void visitIfElse(IfStatement ifElse) { ifElse.setBooleanExpression((BooleanExpression) (transform(ifElse.getBooleanExpression()))); ifElse.getIfBlock().visit(this); ifElse.getElseBlock().visit(this); }
final Statement ifBlock = addReturnsIfNeeded(ifs.getIfBlock(), scope); final Statement elseBlock = addReturnsIfNeeded(ifs.getElseBlock(), scope); if (doAdd) { ifs.setIfBlock(ifBlock); ifs.setElseBlock(elseBlock);
@Override public void visitIfElse(final IfStatement ifElse) { visitStatement(ifElse); ifElse.getBooleanExpression().visit(this); Map<Variable, VariableState> ifState = pushState(); ifElse.getIfBlock().visit(this); popState(); Statement elseBlock = ifElse.getElseBlock(); Map<Variable, VariableState> elseState = pushState(); visitPossiblyEmptyStatement(elseBlock); popState(); // merge if/else branches Map<Variable, VariableState> curState = getState(); Set<Variable> allVars = new HashSet<Variable>(); allVars.addAll(curState.keySet()); allVars.addAll(ifState.keySet()); allVars.addAll(elseState.keySet()); for (Variable var : allVars) { VariableState beforeValue = curState.get(var); VariableState ifValue = ifState.get(var); VariableState elseValue = elseState.get(var); // merge if and else values VariableState mergedIfElse; mergedIfElse = isFinal(ifValue) && isFinal(elseValue) ? VariableState.is_final : VariableState.is_var; if (beforeValue != null) { curState.put(var, mergedIfElse); } } }
public static Statement safeExpression(Expression fieldExpr, Expression expression) { return new IfStatement( equalsNullX(fieldExpr), new ExpressionStatement(fieldExpr), new ExpressionStatement(expression)); }
public void visitIfElse(IfStatement ifElse) { ifElse.setBooleanExpression((BooleanExpression) (transform(ifElse.getBooleanExpression()))); ifElse.getIfBlock().visit(this); ifElse.getElseBlock().visit(this); }
@Override public void visitIfElse(IfStatement stat) { stat.setBooleanExpression((BooleanExpression) replaceExpr(stat.getBooleanExpression())); stat.setIfBlock(replace(stat.getIfBlock())); stat.setElseBlock(replace(stat.getElseBlock())); }
Statement elseBlock = ifElse.getElseBlock(); if (!(elseBlock instanceof EmptyStatement)) { return null; Expression conditionExpression = ifElse.getBooleanExpression().getExpression(); if (!(conditionExpression instanceof NotExpression)) { return null; return null; Statement block = ifElse.getIfBlock(); if (!(block instanceof BlockStatement)) { return null;
protected Statement ifStatement(AST ifNode) { AST node = ifNode.getFirstChild(); assertNodeType(EXPR, node); BooleanExpression booleanExpression = booleanExpression(node); node = node.getNextSibling(); Statement ifBlock = statement(node); Statement elseBlock = EmptyStatement.INSTANCE; node = node.getNextSibling(); if (node != null) { elseBlock = statement(node); } IfStatement ifStatement = new IfStatement(booleanExpression, ifBlock, elseBlock); configureAST(ifStatement, ifNode); return ifStatement; }
public void visitIfElse(IfStatement ifElse) { ifElse.setBooleanExpression((BooleanExpression) (transform(ifElse.getBooleanExpression()))); ifElse.getIfBlock().visit(this); ifElse.getElseBlock().visit(this); }
@Override public void visitIfElse(IfStatement stat) { stat.getBooleanExpression().visit(this); stat.setIfBlock(replace(stat.getIfBlock())); stat.setElseBlock(replace(stat.getElseBlock())); }