package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; /** * a variable declaration in an array(). * it could take Expression as key. * @author Matthieu Casanova */ public class ArrayVariableDeclaration extends Expression { /** the array key. */ public Expression key; /** the array value. */ public 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; } /** * 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) { buff.append(" => "); buff.append(value.toStringExpression()); } return buff.toString(); } /** * Get the variables from outside (parameters, globals ...) */ public void getOutsideVariable(final List list) { } /** * get the modified variables. */ public void getModifiedVariable(final List list) { key.getModifiedVariable(list); if (value != null) { value.getModifiedVariable(list); } } /** * Get the variables used. */ public void getUsedVariable(final List list) { key.getUsedVariable(list); if (value != null) { value.getUsedVariable(list); } } }