First try for AST structure. A lot of things to change
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ArgumentDeclaration.java
index 0af97f8..cffc971 100644 (file)
@@ -1,5 +1,6 @@
 package net.sourceforge.phpdt.internal.compiler.ast;
 
+
 /**
  * An argument declaration.
  * @author Matthieu Casanova
@@ -7,19 +8,37 @@ package net.sourceforge.phpdt.internal.compiler.ast;
 public class ArgumentDeclaration extends VariableDeclaration {
 
   public boolean reference;
+
   /**
    * Create an argument.
    * @param initialization the initialization
    * @param name the name
    * @param sourceStart the start point
-   * @param sourceEnd the end point
    */
-  public ArgumentDeclaration(Expression initialization,
-                             char[] name,
+  public ArgumentDeclaration(char[] name,
+                             Expression initialization,
                              int sourceStart,
-                             int sourceEnd,
                              boolean reference) {
-      super(initialization,name, sourceStart, sourceEnd);
-      this.reference = reference;
+    super(name, initialization, sourceStart);
+    this.reference = reference;
+  }
+
+  /**
+   * Return the expression as String.
+   * @return the expression
+   */
+  public String toStringExpression() {
+    final StringBuffer buff;
+    if (reference) {
+      buff = new StringBuffer("&$");
+    } else {
+      buff = new StringBuffer("$");
+    }
+    buff.append(name);
+    if (initialization != null) {
+      buff.append(" = ");
+      buff.append(initialization.toStringExpression());
+    }
+    return buff.toString();
   }
 }