Java Code Examples for org.eclipse.jdt.core.dom.IfStatement#setThenStatement()
The following examples show how to use
org.eclipse.jdt.core.dom.IfStatement#setThenStatement() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GenerateHashCodeEqualsOperation.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 7 votes |
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; }
Example 2
Source File: StringBuilderGenerator.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
@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); }
Example 3
Source File: StringBuilderChainGenerator.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
@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); }
Example 4
Source File: GenerateHashCodeEqualsOperation.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
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; }
Example 5
Source File: GenerateHashCodeEqualsOperation.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
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; }
Example 6
Source File: GenerateHashCodeEqualsOperation.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
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; }
Example 7
Source File: CustomBuilderGenerator.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
@Override public MethodDeclaration generateToStringMethod() throws CoreException { initialize(); //ToStringBuilder builder= new ToStringBuilder(this); String builderVariableName= createNameSuggestion(getContext().getCustomBuilderVariableName(), NamingConventions.VK_LOCAL); VariableDeclarationFragment fragment= fAst.newVariableDeclarationFragment(); fragment.setName(fAst.newSimpleName(builderVariableName)); ClassInstanceCreation classInstance= fAst.newClassInstanceCreation(); Name typeName= addImport(getContext().getCustomBuilderClass()); classInstance.setType(fAst.newSimpleType(typeName)); classInstance.arguments().add(fAst.newThisExpression()); fragment.setInitializer(classInstance); VariableDeclarationStatement vStatement= fAst.newVariableDeclarationStatement(fragment); vStatement.setType(fAst.newSimpleType((Name)ASTNode.copySubtree(fAst, typeName))); toStringMethod.getBody().statements().add(vStatement); /* expression for accumulating chained calls */ Expression expression= null; for (int i= 0; i < getContext().getSelectedMembers().length; i++) { //builder.append("member", member); MethodInvocation appendInvocation= createAppendMethodForMember(getContext().getSelectedMembers()[i]); if (getContext().isSkipNulls() && !getMemberType(getContext().getSelectedMembers()[i]).isPrimitive()) { if (expression != null) { toStringMethod.getBody().statements().add(fAst.newExpressionStatement(expression)); expression= null; } appendInvocation.setExpression(fAst.newSimpleName(builderVariableName)); IfStatement ifStatement= fAst.newIfStatement(); ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(getContext().getSelectedMembers()[i], true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); ifStatement.setThenStatement(createOneStatementBlock(appendInvocation)); toStringMethod.getBody().statements().add(ifStatement); } else { if (expression != null) { appendInvocation.setExpression(expression); } else { appendInvocation.setExpression(fAst.newSimpleName(builderVariableName)); } if (getContext().isCustomBuilderChainedCalls() && canChainLastAppendCall) { expression= appendInvocation; } else { expression= null; toStringMethod.getBody().statements().add(fAst.newExpressionStatement(appendInvocation)); } } } if (expression != null) { toStringMethod.getBody().statements().add(fAst.newExpressionStatement(expression)); } // return builder.toString(); ReturnStatement rStatement= fAst.newReturnStatement(); rStatement.setExpression(createMethodInvocation(builderVariableName, getContext().getCustomBuilderResultMethod(), null)); toStringMethod.getBody().statements().add(rStatement); complete(); return toStringMethod; }
Example 8
Source File: GenerateHashCodeEqualsOperation.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
/** * Creates a comparison of reference types. * * <pre> * if (this.a == null) { * if (other.a != null) * return false; * } else { * if (!this.a.equals(other.a)) * return false; * } * </pre> * @param name the field name * @return the comparison statement */ private Statement createQualifiedComparison(String name) { InfixExpression newCondition= fAst.newInfixExpression(); newCondition.setOperator(Operator.EQUALS); newCondition.setLeftOperand(getThisAccessForEquals(name)); newCondition.setRightOperand(fAst.newNullLiteral()); // THEN InfixExpression notEqNull= fAst.newInfixExpression(); notEqNull.setOperator(Operator.NOT_EQUALS); notEqNull.setLeftOperand(getOtherAccess(name)); notEqNull.setRightOperand(fAst.newNullLiteral()); IfStatement thenPart= fAst.newIfStatement(); thenPart.setExpression(notEqNull); thenPart.setThenStatement(getThenStatement(getReturnFalse())); Block thenPart2= fAst.newBlock(); thenPart2.statements().add(thenPart); // ELSE MethodInvocation invoc= fAst.newMethodInvocation(); invoc.setName(fAst.newSimpleName(METHODNAME_EQUALS)); invoc.setExpression(getThisAccessForEquals(name)); invoc.arguments().add(getOtherAccess(name)); PrefixExpression pe= fAst.newPrefixExpression(); pe.setOperator(PrefixExpression.Operator.NOT); pe.setOperand(invoc); IfStatement elsePart= fAst.newIfStatement(); elsePart.setExpression(pe); elsePart.setThenStatement(getThenStatement(getReturnFalse())); // ALL IfStatement isNull= fAst.newIfStatement(); isNull.setExpression(newCondition); isNull.setThenStatement(thenPart2); isNull.setElseStatement(elsePart); return isNull; }