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