Some bugfix
[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 name the name
15    * @param reference the variable is a reference ?
16    * @param initialization the initialization
17    * @param sourceStart the start point
18    */
19   public ArgumentDeclaration(char[] name,
20                              boolean reference,
21                              Expression initialization,
22                              int sourceStart) {
23     super(name, initialization, sourceStart);
24     this.reference = reference;
25   }
26
27   /**
28    * Create an argument.
29    * @param name the name
30    * @param reference the variable is a reference ?
31    * @param sourceStart the start point
32    */
33   public ArgumentDeclaration(char[] name,
34                              boolean reference,
35                              int sourceStart) {
36     super(name, sourceStart);
37     this.reference = reference;
38   }
39   /**
40    * Return the expression as String.
41    * @return the expression
42    */
43   public String toStringExpression() {
44     final StringBuffer buff;
45     if (reference) {
46       buff = new StringBuffer("&$");
47     } else {
48       buff = new StringBuffer("$");
49     }
50     buff.append(name);
51     if (initialization != null) {
52       buff.append(" = ");
53       buff.append(initialization.toStringExpression());
54     }
55     return buff.toString();
56   }
57 }