The methods to get variables do not instantiate ArrayList each time, only one is...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / FieldDeclaration.java
index c64ba6b..b41df20 100644 (file)
@@ -1,27 +1,43 @@
 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 VariableDeclaration, since a field could contains
- * several vars :
+ * In fact it's an array of VariableUsage, since a field could contains
+ * several var :
  * var $toto,$tata;
  * @author Matthieu Casanova
  */
-public class FieldDeclaration extends Statement {
+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(VariableDeclaration[] vars, int sourceStart, int sourceEnd) {
+  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);
   }
 
   /**
@@ -29,16 +45,49 @@ public class FieldDeclaration extends Statement {
    * @param tab how many tabs (not used here
    * @return a String
    */
-  public String toString(int tab) {
+  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++) {
-      VariableDeclaration var = vars[i];
       if (i != 0) {
-        buff.append(',');//$NON-NLS-1$
+        buff.append(",");//$NON-NLS-1$
       }
-      buff.append(var.toStringExpression());
+      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 ...)
+   */
+  public void getOutsideVariable(final List list) {
+  }
+
+  /**
+   * get the modified variables.
+   */
+  public void getModifiedVariable(final List list) {
+  }
+
+  /**
+   * Get the variables used.
+   */
+  public void getUsedVariable(final List list) {
+  }
 }