ceb04d5a8a90e5ad1f7148fdca2e9e700b32c419
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ArrayDeclarator.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import java.util.List;
4
5 /**
6  * @author Matthieu Casanova
7  */
8 public class ArrayDeclarator extends AbstractVariable {
9
10   public AbstractVariable prefix;
11   public Expression var;
12
13   public ArrayDeclarator(final AbstractVariable prefix,
14                          final Expression vars,
15                          final int sourceEnd) {
16     super(prefix.sourceStart, sourceEnd);
17     this.prefix = prefix;
18     this.var = vars;
19   }
20
21   /**
22    * Return the expression as String.
23    * @return the expression
24    */
25   public String toStringExpression() {
26     final StringBuffer buff = new StringBuffer(prefix.toStringExpression());
27     buff.append('[');
28     if (var != null) {
29       buff.append(var.toStringExpression());
30     }
31     buff.append(']');
32     return buff.toString();
33   }
34
35   /**
36    * Return the name of the variable.
37    * @return the name of the functionName variable
38    */
39   public String getName() {
40     return prefix.getName();
41   }
42
43   /**
44    * Get the variables from outside (parameters, globals ...)
45    */
46   public void getOutsideVariable(final List list) {
47   }
48
49   /**
50    * get the modified variables.
51    */
52   public void getModifiedVariable(final List list) {
53     prefix.getModifiedVariable(list);
54     if (var != null) {
55       var.getModifiedVariable(list);
56     }
57   }
58
59   /**
60    * Get the variables used.
61    */
62   public void getUsedVariable(final List list) {
63     prefix.getUsedVariable(list);
64     if (var != null) {
65       var.getUsedVariable(list);
66     }
67   }
68 }