package net.sourceforge.phpdt.internal.compiler.ast; import java.util.List; import java.util.ArrayList; /** * @author Matthieu Casanova */ public class ArrayDeclarator extends AbstractVariable { public AbstractVariable prefix; public Expression var; public ArrayDeclarator(final AbstractVariable prefix, final Expression vars, final int sourceEnd) { super(prefix.getSourceStart(), sourceEnd); this.prefix = prefix; this.var = vars; } /** * Return the expression as String. * @return the expression */ public String toStringExpression() { final StringBuffer buff = new StringBuffer(prefix.toStringExpression()); buff.append('['); if (var != null) { buff.append(var.toStringExpression()); } buff.append(']'); return buff.toString(); } /** * Return the name of the variable. * @return the name of the prefix variable */ public String getName() { return prefix.getName(); } /** * Get the variables from outside (parameters, globals ...) * @return the variables from outside */ public List getOutsideVariable() { return new ArrayList(1); } /** * get the modified variables. * @return the variables from we change value */ public List getModifiedVariable() { final List list = prefix.getModifiedVariable(); if (var != null) { list.addAll(var.getModifiedVariable()); } return list; } /** * Get the variables used. * @return the variables used */ public List getUsedVariable() { final List list = prefix.getUsedVariable(); if (var != null) { list.addAll(var.getUsedVariable()); } return list; } }