/** * 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); }
/** * 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; }
/** * Append an 'if-else' statement. * * @param expr conditional expression * @param ifblock block executed when condition <code>true</code> * @param elseblock block executed when condition <code>false</code> */ public void addIfElseStatement(ExpressionBuilderBase expr, BlockBuilder ifblock, BlockBuilder elseblock) { IfStatement ifstmt = m_ast.newIfStatement(); ifstmt.setExpression(expr.getExpression()); ifstmt.setThenStatement(ifblock.m_block); ifstmt.setElseStatement(elseblock.m_block); m_block.statements().add(ifstmt); }
/** * Append an 'if-else-if' statement. * * @param ifexpr if conditional expression * @param elsexpr if conditional expression * @param ifblock block executed when condition <code>true</code> * @param elseblock block executed when condition <code>false</code> */ public void addIfElseIfStatement(ExpressionBuilderBase ifexpr, ExpressionBuilderBase elsexpr, BlockBuilder ifblock, BlockBuilder elseblock) { IfStatement ifstmt = m_ast.newIfStatement(); ifstmt.setExpression(ifexpr.getExpression()); ifstmt.setThenStatement(ifblock.m_block); IfStatement elseifstmt = m_ast.newIfStatement(); elseifstmt.setExpression(elsexpr.getExpression()); elseifstmt.setThenStatement(elseblock.m_block); ifstmt.setElseStatement(elseifstmt); m_block.statements().add(ifstmt); }
private Statement createReturningIfStatement(boolean result, Expression condition) { IfStatement firstIf= fAst.newIfStatement(); firstIf.setExpression(condition); ReturnStatement returner= fAst.newReturnStatement(); returner.setExpression(fAst.newBooleanLiteral(result)); firstIf.setThenStatement(returner); return firstIf; }
/** * Constructor. * * @param source Source * @param expr expression */ public IfBuilder(ClassBuilder source, Expression expr) { super(source); m_if = source.getAST().newIfStatement(); m_if.setExpression(expr); m_thenBlock = source.newBlock(); m_if.setThenStatement(m_thenBlock.getStatement()); }
private Statement createReturningIfStatement(boolean result, Expression condition) { IfStatement firstIf= fAst.newIfStatement(); firstIf.setExpression(condition); ReturnStatement returner= fAst.newReturnStatement(); returner.setExpression(fAst.newBooleanLiteral(result)); firstIf.setThenStatement(getThenStatement(returner)); return firstIf; }
private Statement createReturningIfStatement(boolean result, Expression condition) { IfStatement firstIf= fAst.newIfStatement(); firstIf.setExpression(condition); ReturnStatement returner= fAst.newReturnStatement(); returner.setExpression(fAst.newBooleanLiteral(result)); firstIf.setThenStatement(getThenStatement(returner)); return firstIf; }
private Statement createArrayComparison(String name) { MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_EQUALS)); invoc.setExpression(getQualifiedName(JAVA_UTIL_ARRAYS)); invoc.arguments().add(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement ifSt= fAst.newIfStatement(); ifSt.setExpression(pe); ifSt.setThenStatement(getReturnFalse()); return ifSt; }
private Statement createMultiArrayComparison(String name) { MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_DEEP_EQUALS)); invoc.setExpression(getQualifiedName(JAVA_UTIL_ARRAYS)); invoc.arguments().add(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement ifSt= fAst.newIfStatement(); ifSt.setExpression(pe); ifSt.setThenStatement(getThenStatement(getReturnFalse())); return ifSt; }
private Statement createArrayComparison(String name) { MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_EQUALS)); invoc.setExpression(getQualifiedName(JAVA_UTIL_ARRAYS)); invoc.arguments().add(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement ifSt= fAst.newIfStatement(); ifSt.setExpression(pe); ifSt.setThenStatement(getThenStatement(getReturnFalse())); return ifSt; }
private Statement createMultiArrayComparison(String name) { MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_DEEP_EQUALS)); invoc.setExpression(getQualifiedName(JAVA_UTIL_ARRAYS)); invoc.arguments().add(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement ifSt= fAst.newIfStatement(); ifSt.setExpression(pe); ifSt.setThenStatement(getThenStatement(getReturnFalse())); return ifSt; }
private Statement createArrayComparison(String name) { MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_EQUALS)); invoc.setExpression(getQualifiedName(JAVA_UTIL_ARRAYS)); invoc.arguments().add(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement ifSt= fAst.newIfStatement(); ifSt.setExpression(pe); ifSt.setThenStatement(getThenStatement(getReturnFalse())); return ifSt; }
IfStatement ifs = ast.newIfStatement(); SimpleName sn; try {
@Override protected void addMemberCheckNull(Object member, boolean addSeparator) { IfStatement ifStatement= fAst.newIfStatement(); ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushBuffer(null); String[] arrayString= getContext().getTemplateParser().getBody(); for (int i= 0; i < arrayString.length; i++) { addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); flushBuffer(thenBlock); if (thenBlock.statements().size() == 1 && !getContext().isForceBlocks()) { ifStatement.setThenStatement((Statement)ASTNode.copySubtree(fAst, (ASTNode)thenBlock.statements().get(0))); } else { ifStatement.setThenStatement(thenBlock); } toStringMethod.getBody().statements().add(ifStatement); }
@Override protected void addMemberCheckNull(Object member, boolean addSeparator) { IfStatement ifStatement= fAst.newIfStatement(); ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushTemporaryExpression(); String[] arrayString= getContext().getTemplateParser().getBody(); for (int i= 0; i < arrayString.length; i++) { addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); flushTemporaryExpression(); if (thenBlock.statements().size() == 1 && !getContext().isForceBlocks()) { ifStatement.setThenStatement((Statement)ASTNode.copySubtree(fAst, (ASTNode)thenBlock.statements().get(0))); } else { ifStatement.setThenStatement(thenBlock); } toStringMethod.getBody().statements().add(ifStatement); }
@Override protected void addMemberCheckNull(Object member, boolean addSeparator) { IfStatement ifStatement= fAst.newIfStatement(); ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushTemporaryExpression(); String[] arrayString= getContext().getTemplateParser().getBody(); for (int i= 0; i < arrayString.length; i++) { addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); flushTemporaryExpression(); if (thenBlock.statements().size() == 1 && !getContext().isForceBlocks()) { ifStatement.setThenStatement((Statement)ASTNode.copySubtree(fAst, (ASTNode)thenBlock.statements().get(0))); } else { ifStatement.setThenStatement(thenBlock); } toStringMethod.getBody().statements().add(ifStatement); }
@Override protected void addMemberCheckNull(Object member, boolean addSeparator) { IfStatement ifStatement= fAst.newIfStatement(); ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushBuffer(null); String[] arrayString= getContext().getTemplateParser().getBody(); for (int i= 0; i < arrayString.length; i++) { addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); flushBuffer(thenBlock); if (thenBlock.statements().size() == 1 && !getContext().isForceBlocks()) { ifStatement.setThenStatement((Statement)ASTNode.copySubtree(fAst, (ASTNode)thenBlock.statements().get(0))); } else { ifStatement.setThenStatement(thenBlock); } toStringMethod.getBody().statements().add(ifStatement); }
private Statement createOuterComparison() { MethodInvocation outer1= fAst.newMethodInvocation(); outer1.setName(fAst.newSimpleName(METHODNAME_OUTER_TYPE)); MethodInvocation outer2= fAst.newMethodInvocation(); outer2.setName(fAst.newSimpleName(METHODNAME_OUTER_TYPE)); outer2.setExpression(fAst.newSimpleName(VARIABLE_NAME_EQUALS_CASTED)); MethodInvocation outerEql= fAst.newMethodInvocation(); outerEql.setName(fAst.newSimpleName(METHODNAME_EQUALS)); outerEql.setExpression(outer1); outerEql.arguments().add(outer2); PrefixExpression not= fAst.newPrefixExpression(); not.setOperand(outerEql); not.setOperator(PrefixExpression.Operator.NOT); IfStatement notEqNull= fAst.newIfStatement(); notEqNull.setExpression(not); notEqNull.setThenStatement(getThenStatement(getReturnFalse())); return notEqNull; }
private Statement createEnclosingInstanceComparison() { MethodInvocation enclosing1= fAst.newMethodInvocation(); enclosing1.setName(fAst.newSimpleName(METHODNAME_GET_ENCLOSING_INSTANCE)); MethodInvocation enclosing2= fAst.newMethodInvocation(); enclosing2.setName(fAst.newSimpleName(METHODNAME_GET_ENCLOSING_INSTANCE)); enclosing2.setExpression(fAst.newSimpleName(VARIABLE_NAME_EQUALS_CASTED)); MethodInvocation enclosingEql= fAst.newMethodInvocation(); enclosingEql.setName(fAst.newSimpleName(METHODNAME_EQUALS)); enclosingEql.setExpression(enclosing1); enclosingEql.arguments().add(enclosing2); PrefixExpression not= fAst.newPrefixExpression(); not.setOperand(enclosingEql); not.setOperator(PrefixExpression.Operator.NOT); IfStatement notEqNull= fAst.newIfStatement(); notEqNull.setExpression(not); notEqNull.setThenStatement(getThenStatement(getReturnFalse())); return notEqNull; }