X-Git-Url: http://git.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 0979b23..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,15 +1,26 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; + /** + * 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; - public ArrayInitializer(ArrayVariableDeclaration[] vars, - int sourceStart, - int sourceEnd) { + /** + * 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) { super(sourceStart, sourceEnd); this.vars = vars; } @@ -21,13 +32,44 @@ public class ArrayInitializer extends Expression { public String toStringExpression() { final StringBuffer buff = new StringBuffer("array("); for (int i = 0; i < vars.length; i++) { - 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 ...) + * @param list the list where we will put variables + */ + public void getOutsideVariable(final List list) {} + + /** + * get the modified variables. + * @param list the list where we will put variables + */ + public void getModifiedVariable(final List list) { + for (int i = 0; i < vars.length; i++) { + if (vars[i] != null) { + vars[i].getModifiedVariable(list); + } + } + } + + /** + * Get the variables used. + * @param list the list where we will put variables + */ + public void getUsedVariable(final List list) { + for (int i = 0; i < vars.length; i++) { + if (vars[i] != null) { + vars[i].getUsedVariable(list); + } + } + } }