X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ConditionalExpression.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ConditionalExpression.java index deaa787..04ad606 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ConditionalExpression.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ConditionalExpression.java @@ -1,64 +1,69 @@ package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; -import java.util.ArrayList; /** - * A ConditionalExpression is like that : booleanExpression ? trueValue : falseValue; + * A ConditionalExpression is like that : booleanExpression ? trueValue : falseValue;. * @author Matthieu Casanova */ -public class ConditionalExpression extends OperatorExpression { +public final class ConditionalExpression extends OperatorExpression { - public Expression condition, valueIfTrue, valueIfFalse; + private final Expression condition; + private final Expression valueIfTrue; + private final Expression valueIfFalse; public ConditionalExpression(final Expression condition, final Expression valueIfTrue, final Expression valueIfFalse) { - super(-1, condition.getSourceStart(), valueIfFalse.getSourceEnd()); + super(-1, condition.sourceStart, valueIfFalse.sourceEnd); this.condition = condition; this.valueIfTrue = valueIfTrue; this.valueIfFalse = valueIfFalse; } public String toStringExpression() { - final StringBuffer buff = new StringBuffer("("); - buff.append(condition.toStringExpression()); + final String conditionString = condition.toStringExpression(); + final String valueIfTrueString = valueIfTrue.toStringExpression(); + final String valueIfFalse = this.valueIfFalse.toStringExpression(); + final StringBuffer buff = new StringBuffer(8 + + conditionString.length() + + valueIfTrueString.length() + + valueIfFalse.length()); + buff.append("("); + buff.append(conditionString); buff.append(") ? "); - buff.append(valueIfTrue.toStringExpression()); + buff.append(valueIfTrueString); buff.append(" : "); - buff.append(valueIfFalse.toStringExpression()); + buff.append(valueIfFalse); return buff.toString(); } /** * Get the variables from outside (parameters, globals ...) - * @return the variables from outside + * + * @param list the list where we will put variables */ - public List getOutsideVariable() { - return new ArrayList(); - } + public void getOutsideVariable(final List list) {} /** * get the modified variables. - * @return the variables from we change value + * + * @param list the list where we will put variables */ - public List getModifiedVariable() { - final ArrayList list = new ArrayList(); - list.addAll(condition.getModifiedVariable()); - list.addAll(valueIfTrue.getModifiedVariable()); - list.addAll(valueIfFalse.getModifiedVariable()); - return list; + public void getModifiedVariable(final List list) { + condition.getModifiedVariable(list); + valueIfTrue.getModifiedVariable(list); + valueIfFalse.getModifiedVariable(list); } /** * Get the variables used. - * @return the variables used + * + * @param list the list where we will put variables */ - public List getUsedVariable() { - final ArrayList list = new ArrayList(); - list.addAll(condition.getUsedVariable()); - list.addAll(valueIfTrue.getUsedVariable()); - list.addAll(valueIfFalse.getUsedVariable()); - return list; + public void getUsedVariable(final List list) { + condition.getUsedVariable(list); + valueIfTrue.getUsedVariable(list); + valueIfFalse.getUsedVariable(list); } }