Here is the first class from my declarations descriptions :
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / VariableDeclaration.java
index 25ae677..5a709fd 100644 (file)
@@ -1,10 +1,9 @@
 package net.sourceforge.phpdt.internal.compiler.ast;
 
-import net.sourceforge.phpdt.internal.compiler.ast.Expression;
-import net.sourceforge.phpdt.internal.compiler.ast.AbstractVariableDeclaration;
 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;
 
 /**
  * A variable declaration.
@@ -17,7 +16,7 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
 
   private Object parent;
   private boolean reference;
-
+  private Position position;
   /**
    * Create a variable.
    * @param initialization the initialization
@@ -31,11 +30,11 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
     super(name, sourceStart, initialization.sourceEnd);
     this.initialization = initialization;
     this.parent = parent;
+    position = new Position(sourceStart, sourceEnd);
   }
 
   /**
    * Create a variable.
-   * @param initialization the initialization
    * @param name the name of the variable
    * @param sourceStart the start point
    */
@@ -44,7 +43,6 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
                              int sourceStart,
                              int sourceEnd) {
     super(name, sourceStart, sourceEnd);
-    this.initialization = initialization;
     this.parent = parent;
   }
 
@@ -64,6 +62,17 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
     super(name, sourceStart, initialization.sourceEnd);
     this.initialization = initialization;
   }
+
+  /**
+   * Create a variable.
+   * @param name the name of the variable
+   * @param sourceStart the start point
+   */
+  public VariableDeclaration(char[] name,
+                             int sourceStart) {
+    super(name, sourceStart, sourceStart + name.length);
+  }
+
   /**
    * Return the variable into String.
    * @return a String
@@ -71,9 +80,9 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
   public String toStringExpression() {
     final StringBuffer buff;
     if (reference) {
-      buff = new StringBuffer('&');
+      buff = new StringBuffer("&$"); //$NON-NLS-1$
     } else {
-      buff = new StringBuffer();
+      buff = new StringBuffer("$");//$NON-NLS-1$
     }
     buff.append(name);
     if (initialization != null) {
@@ -87,11 +96,19 @@ public class VariableDeclaration extends AbstractVariableDeclaration implements
     return parent;
   }
 
-    /**
-     * Get the image of a variable.
-     * @return the image that represents a php variable
-     */
-    public ImageDescriptor getImage() {
-        return PHPUiImages.DESC_VAR;
-    }
+  public String toString() {
+    return toStringExpression();
+  }
+
+  /**
+   * Get the image of a variable.
+   * @return the image that represents a php variable
+   */
+  public ImageDescriptor getImage() {
+      return PHPUiImages.DESC_VAR;
+  }
+
+  public Position getPosition() {
+    return position;
+  }
 }