8d2930aaff9963f863b9b0f513ccb7ad930d5838
[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    * @return the variables from outside
47    */
48   public List getOutsideVariable() {
49     return new ArrayList(1);
50   }
51
52   /**
53    * get the modified variables.
54    * @return the variables from we change value
55    */
56   public List getModifiedVariable() {
57     final List list = prefix.getModifiedVariable();
58     if (var != null) {
59       list.addAll(var.getModifiedVariable());
60     }
61     return list;
62   }
63
64   /**
65    * Get the variables used.
66    * @return the variables used
67    */
68   public List getUsedVariable() {
69     final List list = prefix.getUsedVariable();
70     if (var != null) {
71       list.addAll(var.getUsedVariable());
72     }
73     return list;
74   }
75 }