The methods to get variables do not instantiate ArrayList each time, only one is...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / EchoStatement.java
index c5f3e98..84e1819 100644 (file)
@@ -13,8 +13,8 @@ public class EchoStatement extends Statement {
   /** An array of expressions in this echo statement. */
   public Expression[] expressions;
 
-  public EchoStatement (final Expression[] expressions, final int sourceStart) {
-    super(sourceStart, expressions[expressions.length-1].sourceEnd);
+  public EchoStatement (final Expression[] expressions, final int sourceStart, final int sourceEnd) {
+    super(sourceStart, sourceEnd);
     this.expressions = expressions;
   }
 
@@ -43,37 +43,28 @@ public class EchoStatement extends Statement {
 
   /**
    * Get the variables from outside (parameters, globals ...)
-   * @return the variables from outside
    */
-  public List getOutsideVariable() {
-    final ArrayList list = new ArrayList();
+  public void getOutsideVariable(final List list) {
     for (int i = 0; i < expressions.length; i++) {
-      list.addAll(expressions[i].getOutsideVariable());
+      expressions[i].getOutsideVariable(list);
     }
-    return list;
   }
 
   /**
    * get the modified variables.
-   * @return the variables from we change value
    */
-  public List getModifiedVariable() {
-    final ArrayList list = new ArrayList();
+  public void getModifiedVariable(final List list) {
     for (int i = 0; i < expressions.length; i++) {
-      list.addAll(expressions[i].getModifiedVariable());
+      expressions[i].getModifiedVariable(list);
     }
-    return list;
   }
 
   /**
    * Get the variables used.
-   * @return the variables used
    */
-  public List getUsedVariable() {
-    final ArrayList list = new ArrayList();
+  public void getUsedVariable(final List list) {
     for (int i = 0; i < expressions.length; i++) {
-      list.addAll(expressions[i].getUsedVariable());
+      expressions[i].getUsedVariable(list);
     }
-    return list;
   }
 }