*** empty log message ***
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / Define.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Define.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/Define.java
new file mode 100644 (file)
index 0000000..ad05eb7
--- /dev/null
@@ -0,0 +1,59 @@
+package net.sourceforge.phpdt.internal.compiler.ast;
+
+import org.eclipse.jface.text.Position;
+import org.eclipse.jface.resource.ImageDescriptor;
+import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
+import net.sourceforge.phpdt.internal.ui.PHPUiImages;
+
+/**
+ * a Define.
+ * define(expression,expression)
+ * @author Matthieu Casanova
+ */
+public class Define extends Statement implements Outlineable {
+
+  public Expression defineName,defineValue;
+
+  private Object parent;
+  private Position position;
+
+  public Define(Object parent,
+                Expression defineName,
+                Expression defineValue,
+                int sourceStart,
+                int sourceEnd) {
+    super(sourceStart, sourceEnd);
+    this.parent = parent;
+    this.defineName = defineName;
+    this.defineValue = defineValue;
+    position = new Position(sourceStart, sourceEnd);
+  }
+
+  public String toString(int tab) {
+    final StringBuffer buff = new StringBuffer(tabString(tab));
+    buff.append("define(");
+    buff.append(defineName.toStringExpression());
+    buff.append(defineValue.toStringExpression());
+    buff.append(")");
+    return buff.toString();
+  }
+
+  public String toString() {
+    final StringBuffer buff = new StringBuffer(defineName.toStringExpression());
+    buff.append(" = ");
+    buff.append(defineValue.toStringExpression());
+    return buff.toString();
+  }
+
+  public ImageDescriptor getImage() {
+    return PHPUiImages.DESC_VAR;
+  }
+
+  public Object getParent() {
+    return parent;
+  }
+
+  public Position getPosition() {
+    return position;
+  }
+}