3f3e474dceab6fca7ff4dbb381bc259542a32ab5
[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 AbstractSuffixExpression {
10
11   public Expression prefix;
12   public Expression vars;
13
14   public ArrayDeclarator(final Expression prefix,
15                          final Expression vars,
16                          final int sourceEnd) {
17     super(prefix.sourceStart, sourceEnd);
18     this.prefix = prefix;
19     this.vars = 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 (vars != null) {
30       buff.append(vars.toStringExpression());
31     }
32     buff.append(']');
33     return buff.toString();
34   }
35
36               /**
37    * Get the variables from outside (parameters, globals ...)
38    * @return the variables from outside
39    */
40   public List getOutsideVariable() {
41     return new ArrayList();
42   }
43
44   /**
45    * get the modified variables.
46    * @return the variables from we change value
47    */
48   public List getModifiedVariable() {
49     final ArrayList list = new ArrayList();
50     list.addAll(prefix.getModifiedVariable());
51     list.addAll(vars.getModifiedVariable());
52     return list;
53   }
54
55   /**
56    * Get the variables used.
57    * @return the variables used
58    */
59   public List getUsedVariable() {
60     final ArrayList list = new ArrayList();
61     list.addAll(prefix.getUsedVariable());
62     list.addAll(vars.getUsedVariable());
63     return list;
64   }
65 }