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
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3
4 /**
5  * An argument declaration.
6  * @author Matthieu Casanova
7  */
8 public class ArgumentDeclaration extends VariableDeclaration {
9
10   public boolean reference;
11
12   /**
13    * Create an argument.
14    * @param initialization the initialization
15    * @param name the name
16    * @param sourceStart the start point
17    */
18   public ArgumentDeclaration(char[] name,
19                              Expression initialization,
20                              int sourceStart,
21                              boolean reference) {
22     super(name, initialization, sourceStart);
23     this.reference = reference;
24   }
25
26   /**
27    * Return the expression as String.
28    * @return the expression
29    */
30   public String toStringExpression() {
31     final StringBuffer buff;
32     if (reference) {
33       buff = new StringBuffer("&$");
34     } else {
35       buff = new StringBuffer("$");
36     }
37     buff.append(name);
38     if (initialization != null) {
39       buff.append(" = ");
40       buff.append(initialization.toStringExpression());
41     }
42     return buff.toString();
43   }
44 }