Rewritten Parser/Scanner to package net.sourceforge.phpdt.internal.compiler.parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / parser / PHPVarDeclaration.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/PHPVarDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/PHPVarDeclaration.java
new file mode 100644 (file)
index 0000000..ac22f1b
--- /dev/null
@@ -0,0 +1,52 @@
+package net.sourceforge.phpdt.internal.compiler.parser;
+
+import net.sourceforge.phpdt.internal.ui.PHPUiImages;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+
+/**
+ * A php variable declaration strongly inspired by the PHPFunctionDeclaration of Khartlage (:.
+ * @author khartlage, Matthieu Casanova
+ */
+public class PHPVarDeclaration extends PHPSegment {
+
+  /** The value of the variable. */
+  private String value;
+    /**
+     * Create a php variable declaration.
+     * @param parent the parent object (it should be a php class)
+     * @param name the name of the variable
+     * @param index where the variable is in the file
+     * @param value the value
+     */
+    public PHPVarDeclaration(Object parent, String name, int index, String value) {
+      super(parent, name, index);
+      this.value = value;
+    }
+
+  /**
+   * Create a php variable declaration.
+   * @param parent the parent object (it should be a php class)
+   * @param name the name of the variable
+   * @param index where the variable is in the file
+   */
+  public PHPVarDeclaration(Object parent, String name, int index) {
+      this(parent, name, index,null);
+  }
+
+    /**
+     * Get the image of a variable.
+     * @return the image that represents a php variable
+     */
+    public ImageDescriptor getImage() {
+        return PHPUiImages.DESC_VAR;
+    }
+
+  public String toString() {
+    if (value == null || value.equals("")) {
+      return super.toString();
+    } else {
+      return name + " = " + value;
+    }
+  }
+}