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