X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayInitializer.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayInitializer.java index 9f3160f..8dca5e1 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayInitializer.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ArrayInitializer.java @@ -1,17 +1,23 @@ package net.sourceforge.phpdt.internal.compiler.ast; -import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage; - import java.util.List; -import java.util.ArrayList; /** + * an array initializer. + * array('a','b','c') or array('a' => 2,'b' = '3'); * @author Matthieu Casanova */ -public class ArrayInitializer extends Expression { +public final class ArrayInitializer extends Expression { - public ArrayVariableDeclaration[] vars; + /** the key and values. */ + private final ArrayVariableDeclaration[] vars; + /** + * Create a new array initializer. + * @param vars the keys and values of the array + * @param sourceStart the starting offset + * @param sourceEnd the ending offset + */ public ArrayInitializer(final ArrayVariableDeclaration[] vars, final int sourceStart, final int sourceEnd) { @@ -26,45 +32,44 @@ public class ArrayInitializer extends Expression { public String toStringExpression() { final StringBuffer buff = new StringBuffer("array("); for (int i = 0; i < vars.length; i++) { - final ArrayVariableDeclaration var = vars[i]; if (i != 0) { buff.append(","); } - buff.append(var.toStringExpression()); + if (vars[i] != null) { + buff.append(vars[i].toStringExpression()); + } } buff.append(")"); 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(); + public void getModifiedVariable(final List list) { for (int i = 0; i < vars.length; i++) { - list.addAll(vars[i].getModifiedVariable()); + if (vars[i] != null) { + vars[i].getModifiedVariable(list); + } } - return 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(); + public void getUsedVariable(final List list) { for (int i = 0; i < vars.length; i++) { - list.addAll(vars[i].getUsedVariable()); + if (vars[i] != null) { + vars[i].getUsedVariable(list); + } } - return list; } }