package net.sourceforge.phpdt.internal.compiler.ast; import net.sourceforge.phpdt.internal.compiler.parser.Outlineable; import net.sourceforge.phpdt.internal.ui.PHPUiImages; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.text.Position; import java.util.List; import java.util.ArrayList; /** * A Field declaration. * This is a variable declaration for a php class * In fact it's an array of VariableUsage, since a field could contains * several vars : * var $toto,$tata; * @author Matthieu Casanova */ public class FieldDeclaration extends Statement implements Outlineable { /** The variables. */ public VariableDeclaration[] vars; private Object parent; private Position position; /** * Create a new field. * @param vars the array of variables. * @param sourceStart the starting offset * @param sourceEnd the ending offset */ public FieldDeclaration(final VariableDeclaration[] vars, final int sourceStart, final int sourceEnd, final Object parent) { super(sourceStart, sourceEnd); this.vars = vars; this.parent = parent; position = new Position(sourceStart, sourceEnd); } /** * Return the object into String. * @param tab how many tabs (not used here * @return a String */ public String toString(final int tab) { final StringBuffer buff = new StringBuffer(tabString(tab)); buff.append("var ");//$NON-NLS-1$ for (int i = 0; i < vars.length; i++) { if (i != 0) { buff.append(",");//$NON-NLS-1$ } buff.append(vars[i].toStringExpression()); } return buff.toString(); } /** * Get the image of a variable. * @return the image that represents a php variable */ public ImageDescriptor getImage() { return PHPUiImages.DESC_VAR; } public Object getParent() { return parent; } public Position getPosition() { return position; } /** * 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() { return new ArrayList(); } /** * Get the variables used. * @return the variables used */ public List getUsedVariable() { return new ArrayList(); } }