final ASTNode internalGetSetChildProperty(ChildPropertyDescriptor property, boolean get, ASTNode child) { if (property == EXPRESSION_PROPERTY) { if (get) { return getExpression(); } else { setExpression((Expression) child); return null; } } if (property == THEN_STATEMENT_PROPERTY) { if (get) { return getThenStatement(); } else { setThenStatement((Statement) child); return null; } } if (property == ELSE_STATEMENT_PROPERTY) { if (get) { return getElseStatement(); } else { setElseStatement((Statement) child); return null; } } // allow default implementation to flag the error return super.internalGetSetChildProperty(property, get, child); }
@Override ASTNode clone0(AST target) { IfStatement result = new IfStatement(target); result.setSourceRange(getStartPosition(), getLength()); result.copyLeadingComment(this); result.setExpression((Expression) getExpression().clone(target)); result.setThenStatement( (Statement) getThenStatement().clone(target)); result.setElseStatement( (Statement) ASTNode.copySubtree(target, getElseStatement())); return result; }
@Override void accept0(ASTVisitor visitor) { boolean visitChildren = visitor.visit(this); if (visitChildren) { // visit children in normal left to right reading order acceptChild(visitor, getExpression()); acceptChild(visitor, getThenStatement()); acceptChild(visitor, getElseStatement()); } visitor.endVisit(this); }
@Override public boolean visit(IfStatement node) { boolean keepThenOnSameLine = this.options.keep_then_statement_on_same_line || (this.options.keep_simple_if_on_one_line && node.getElseStatement() == null); if (keepThenOnSameLine) handleSimpleLoop(node.getThenStatement(), this.options.alignment_for_compact_if); return true; }
public boolean visit(IfStatement node) { this.fBuffer.append("if (");//$NON-NLS-1$ node.getExpression().accept(this); this.fBuffer.append(") ");//$NON-NLS-1$ node.getThenStatement().accept(this); if (node.getElseStatement() != null) { this.fBuffer.append(" else ");//$NON-NLS-1$ node.getElseStatement().accept(this); } return false; }
int treeSize() { return memSize() + (this.expression == null ? 0 : getExpression().treeSize()) + (this.thenStatement == null ? 0 : getThenStatement().treeSize()) + (this.optionalElseStatement == null ? 0 : getElseStatement().treeSize()); } }
public IfStatement convert(org.eclipse.jdt.internal.compiler.ast.IfStatement statement) { IfStatement ifStatement = new IfStatement(this.ast); ifStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); ifStatement.setExpression(convert(statement.condition)); final Statement thenStatement = convert(statement.thenStatement); if (thenStatement == null) return null; ifStatement.setThenStatement(thenStatement); org.eclipse.jdt.internal.compiler.ast.Statement statement2 = statement.elseStatement; if (statement2 != null) { final Statement elseStatement = convert(statement2); if (elseStatement != null) { ifStatement.setElseStatement(elseStatement); } } return ifStatement; }
/** * Append a simple 'if' statement (no else). * * @param expr conditional expression * @param ifblock block executed when condition <code>true</code> */ public void addIfStatement(ExpressionBuilderBase expr, BlockBuilder ifblock) { IfStatement ifstmt = m_ast.newIfStatement(); ifstmt.setExpression(expr.getExpression()); ifstmt.setThenStatement(ifblock.m_block); m_block.statements().add(ifstmt); }
public boolean visit(IfStatement node) { Expression expression = node.getExpression(); Object constValue = constValue(expression); if (null != constValue) { // dead branch elimination if (isTrue(constValue)) { node.getThenStatement().accept(this); } else { if (null != node.getElseStatement()) { node.getElseStatement().accept(this); } } } else { CSIfStatement stmt = new CSIfStatement(node.getStartPosition(), mapExpression(expression)); visitBlock(stmt.trueBlock(), node.getThenStatement()); visitBlock(stmt.falseBlock(), node.getElseStatement()); addStatement(stmt); } return false; }
/** * Builds a new {@link IfStatement} instance. * * @param condition the if condition * @param thenStatement the statement of the then clause * @param elseStatement the statement of the else clause * @return a new if statement */ public IfStatement if0(Expression condition, Statement thenStatement, Statement elseStatement) { final IfStatement is = ast.newIfStatement(); is.setExpression(condition); is.setThenStatement(thenStatement); is.setElseStatement(elseStatement); return is; }
String hoverText= null; Statement currentStatement= ifNode.getThenStatement(); int nodeStart= ifNode.getStartPosition(); while (currentStatement != null) { int nodeLength= ASTNodes.getExclusiveEnd(currentStatement) - nodeStart; int line2= document.getLineOfOffset(nodeStart + nodeLength); int line3= line2; if (currentStatement != bracketNode && ifNode != null && ifNode.getElseStatement() != null) { int elseStartOffset= getNextElseOffset(ifNode.getThenStatement(), editorInput); if (elseStartOffset != -1) { Statement thenStatement= ifNode.getThenStatement(); Statement nextStatement= ifNode.getElseStatement(); if (nextStatement instanceof IfStatement) { currentStatement= ((IfStatement) nextStatement).getThenStatement(); ifNode= (IfStatement) nextStatement; } else {
private boolean maybeMergeBlocks(final IfStatement node, final IfStatement subNode, final Statement doubleStmts, final Statement remainingStmts, final boolean isPositive) { if (doubleStmts != null && match(new ASTSemanticMatcher(), node.getThenStatement(), doubleStmts)) { refactorBlocks(node.getExpression(), subNode, remainingStmts, isPositive); return DO_NOT_VISIT_SUBTREE; } return VISIT_SUBTREE; }
private Variable extractVariableAndValues(final Statement stmt) { if (stmt instanceof IfStatement) { return extractVariableAndValues(((IfStatement) stmt).getExpression()); } return null; }
@Override public boolean visit(IfStatement node) { if (!(node.getParent() instanceof Block)) { return VISIT_SUBTREE; } final InfixExpression ie = as(node.getExpression(), InfixExpression.class); return moveAssignmentBeforeIfStatementIfPossible(node, ie); }
public IfStatement next() { if (!hasNext()) return null; IfStatement result= fCursor; if (fCursor.getElseStatement() instanceof IfStatement) { fCursor= (IfStatement)fCursor.getElseStatement(); } else { fCursor= null; } return result; }
@Override public boolean visit(IfStatement node) { handleToken(node, TokenNameLPAREN, this.options.insert_space_before_opening_paren_in_if, this.options.insert_space_after_opening_paren_in_if); Statement thenStatement = node.getThenStatement(); handleTokenBefore(thenStatement, TokenNameRPAREN, this.options.insert_space_before_closing_paren_in_if, false); handleLoopBody(thenStatement); handleSemicolon(thenStatement); return true; }
pos= (tok == TerminalTokens.TokenNameRPAREN) ? getScanner().getCurrentEndOffset() : getScanner().getCurrentStartOffset(); int indent= getIndent(node.getStartPosition()); int indent= getIndent(node.getStartPosition()); Object newThen= getNewValue(node, IfStatement.THEN_STATEMENT_PROPERTY); if (newThen instanceof Block) {
/** * Set the "else" conditional statement. * * @param stmt Statement */ public void setElse(StatementBuilderBase stmt) { m_if.setElseStatement(stmt.getStatement()); } }
@Override public boolean visit(IfStatement node) { this.fBuffer.append("if (");//$NON-NLS-1$ node.getExpression().accept(this); this.fBuffer.append(") ");//$NON-NLS-1$ node.getThenStatement().accept(this); if (node.getElseStatement() != null) { this.fBuffer.append(" else ");//$NON-NLS-1$ node.getElseStatement().accept(this); } return false; }
@Override int treeSize() { return memSize() + (this.expression == null ? 0 : getExpression().treeSize()) + (this.thenStatement == null ? 0 : getThenStatement().treeSize()) + (this.optionalElseStatement == null ? 0 : getElseStatement().treeSize()); } }