Changes:
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ArrayInitializer.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import java.util.List;
4
5 /**
6  * an array initializer.
7  * array('a','b','c') or array('a' => 2,'b' = '3');
8  * @author Matthieu Casanova
9  */
10 public class ArrayInitializer extends Expression {
11
12   public ArrayVariableDeclaration[] vars;
13
14   public ArrayInitializer(final ArrayVariableDeclaration[] vars,
15                           final int sourceStart,
16                           final int sourceEnd) {
17     super(sourceStart, sourceEnd);
18     this.vars = 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("array(");
27     for (int i = 0; i < vars.length; i++) {
28       if (i != 0) {
29         buff.append(",");
30       }
31       if (vars[i] != null) {
32         buff.append(vars[i].toStringExpression());
33       }
34     }
35     buff.append(")");
36     return buff.toString();
37   }
38
39   /**
40    * Get the variables from outside (parameters, globals ...)
41    */
42   public void getOutsideVariable(final List list) {
43   }
44
45   /**
46    * get the modified variables.
47    */
48   public void getModifiedVariable(final List list) {
49     for (int i = 0; i < vars.length; i++) {
50       if (vars[i] != null) {
51         vars[i].getModifiedVariable(list);
52       }
53     }
54   }
55
56   /**
57    * Get the variables used.
58    */
59   public void getUsedVariable(final List list) {
60     for (int i = 0; i < vars.length; i++) {
61       if (vars[i] != null) {
62         vars[i].getUsedVariable(list);
63       }
64     }
65   }
66 }