X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayVariableDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayVariableDeclaration.java index c213bd3..215c9ea 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayVariableDeclaration.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayVariableDeclaration.java @@ -1,69 +1,93 @@ package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; -import java.util.ArrayList; /** - * This variable declaration do not extend AbstractVariableDeclaration because + * a variable declaration in an array(). * it could take Expression as key. + * * @author Matthieu Casanova */ -public class ArrayVariableDeclaration extends Expression { +public final class ArrayVariableDeclaration extends Expression { - public Expression key,value; + /** the array key. */ + private final Expression key; - public ArrayVariableDeclaration(final Expression key,final Expression value) { + /** the array value. */ + private Expression value; + + /** + * Create a new array variable declaration. + * + * @param key the key + * @param value the value + */ + public ArrayVariableDeclaration(final Expression key, final Expression value) { super(key.sourceStart, value.sourceEnd); this.key = key; this.value = value; } - public ArrayVariableDeclaration(final Expression key,final int sourceEnd) { + /** + * Create a new array variable declaration. + * + * @param key the key + * @param sourceEnd the end position + */ + public ArrayVariableDeclaration(final Expression key, final int sourceEnd) { super(key.sourceStart, sourceEnd); this.key = key; } + /** * Return the expression as String. + * * @return the expression */ public String toStringExpression() { - final StringBuffer buff = new StringBuffer(); - buff.append(key.toStringExpression()); - if (value != null) { + if (value == null) { + return key.toStringExpression(); + } else { + final String keyString = key.toStringExpression(); + final String valueString = value.toStringExpression(); + final StringBuffer buff = new StringBuffer(keyString.length() + valueString.length() + 3); + buff.append(keyString); buff.append(" => "); - buff.append(value.toStringExpression()); + buff.append(valueString); + return buff.toString(); } - 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(key.getModifiedVariable()); - list.addAll(value.getModifiedVariable()); - return list; + public void getModifiedVariable(final List list) { + key.getModifiedVariable(list); + if (value != null) { + value.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(value.getUsedVariable()); - return list; + public void getUsedVariable(final List list) { + key.getUsedVariable(list); + if (value != null) { + value.getUsedVariable(list); + } } }