*** empty log message ***
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ListExpression.java
index 80f1887..769dc4b 100644 (file)
@@ -1,7 +1,5 @@
 package net.sourceforge.phpdt.internal.compiler.ast;
 
-import net.sourceforge.phpdt.internal.compiler.ast.declarations.VariableUsage;
-
 import java.util.List;
 import java.util.ArrayList;
 
@@ -12,10 +10,10 @@ import java.util.ArrayList;
  */
 public class ListExpression extends Expression {
 
-  public String[] vars;
+  public Expression[] vars;
   public Expression expression;
 
-  public ListExpression(final String[] vars,
+  public ListExpression(final Expression[] vars,
                         final Expression expression,
                         final int sourceStart,
                         final int sourceEnd) {
@@ -24,7 +22,7 @@ public class ListExpression extends Expression {
     this.expression = expression;
   }
 
-  public ListExpression(final String[] vars,
+  public ListExpression(final Expression[] vars,
                         final int sourceStart,
                         final int sourceEnd) {
     super(sourceStart, sourceEnd);
@@ -38,12 +36,11 @@ public class ListExpression extends Expression {
   public String toStringExpression() {
     final StringBuffer buff = new StringBuffer("list(");
     for (int i = 0; i < vars.length; i++) {
-      final String var = vars[i];
       if (i != 0) {
         buff.append(", ");
       }
-      if (var != null) {
-        buff.append(var);
+      if (vars[i] != null) {
+        buff.append(vars[i].toStringExpression());
       }
     }
     if (expression != null) {
@@ -68,7 +65,7 @@ public class ListExpression extends Expression {
   public List getModifiedVariable() {
     final ArrayList list = new ArrayList();
     for (int i = 0; i < vars.length; i++) {
-      list.add(new VariableUsage(vars[i],sourceStart));
+      list.addAll(vars[i].getModifiedVariable());
     }
     if (expression != null) {
       list.addAll(expression.getModifiedVariable());
@@ -81,10 +78,9 @@ public class ListExpression extends Expression {
    * @return the variables used
    */
   public List getUsedVariable() {
-    final ArrayList list = new ArrayList();
-    if (expression != null) {
-      list.addAll(expression.getUsedVariable());
+    if (expression == null) {
+      return new ArrayList(1);
     }
-    return list;
+    return expression.getUsedVariable();
   }
 }