X-Git-Url: http://secure.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 d85c89c..121a158 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,5 +1,8 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; +import java.util.ArrayList; + /** * A ConditionalExpression is like that : booleanExpression ? trueValue : falseValue; * @author Matthieu Casanova @@ -8,16 +11,16 @@ public class ConditionalExpression extends OperatorExpression { public Expression condition, valueIfTrue, valueIfFalse; - public ConditionalExpression(Expression condition, - Expression valueIfTrue, - Expression valueIfFalse) { + public ConditionalExpression(final Expression condition, + final Expression valueIfTrue, + final Expression valueIfFalse) { super(-1, condition.sourceStart, valueIfFalse.sourceEnd); this.condition = condition; this.valueIfTrue = valueIfTrue; this.valueIfFalse = valueIfFalse; } - public String toStringExpressionNoParenthesis() { + public String toStringExpression() { final StringBuffer buff = new StringBuffer("("); buff.append(condition.toStringExpression()); buff.append(") ? "); @@ -26,4 +29,36 @@ public class ConditionalExpression extends OperatorExpression { buff.append(valueIfFalse.toStringExpression()); return buff.toString(); } + + /** + * Get the variables from outside (parameters, globals ...) + * @return the variables from outside + */ + public List getOutsideVariable() { + return new ArrayList(); + } + + /** + * get the modified variables. + * @return the variables from we change value + */ + public List getModifiedVariable() { + final ArrayList list = new ArrayList(); + list.addAll(condition.getModifiedVariable()); + list.addAll(valueIfTrue.getModifiedVariable()); + list.addAll(valueIfFalse.getModifiedVariable()); + return list; + } + + /** + * Get the variables used. + * @return the variables used + */ + public List getUsedVariable() { + final ArrayList list = new ArrayList(); + list.addAll(condition.getUsedVariable()); + list.addAll(valueIfTrue.getUsedVariable()); + list.addAll(valueIfFalse.getUsedVariable()); + return list; + } }