package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; import java.util.ArrayList; /** * This variable declaration do not extend AbstractVariableDeclaration because * it could take Expression as key. * @author Matthieu Casanova */ public class ArrayVariableDeclaration extends Expression { public Expression key,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) { 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 ...) * @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(key.getModifiedVariable()); list.addAll(value.getModifiedVariable()); return list; } /** * Get the variables used. * @return the variables used */ public List getUsedVariable() { final ArrayList list = new ArrayList(); list.addAll(value.getUsedVariable()); return list; } }