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