a lot of bugfixes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / ForStatement.java
index 212d451..689a737 100644 (file)
@@ -20,6 +20,15 @@ public class ForStatement extends Statement {
 
   public Statement action;
 
+  /**
+   * a for statement
+   * @param initializations the initializations expressions
+   * @param condition the condition when the for get out
+   * @param increments the increments statements
+   * @param action the action (a statement, a block ...)
+   * @param sourceStart the beginning sources
+   * @param sourceEnd the ending sources
+   */
   public ForStatement(final Expression[] initializations,
                       final Expression condition,
                       final Expression[] increments,
@@ -74,13 +83,21 @@ public class ForStatement extends Statement {
    */
   public List getOutsideVariable() {
     final ArrayList list = new ArrayList();
-    list.addAll(condition.getOutsideVariable());
-    list.addAll(action.getOutsideVariable());
-    for (int i = 0; i < initializations.length; i++) {
-      list.addAll(initializations[i].getOutsideVariable());
+    if (condition != null) {
+      list.addAll(condition.getOutsideVariable());
+    }
+    if (action != null) {
+      list.addAll(action.getOutsideVariable());
     }
-    for (int i = 0; i < increments.length; i++) {
-      list.addAll(increments[i].getOutsideVariable());
+    if (initializations != null) {
+      for (int i = 0; i < initializations.length; i++) {
+        list.addAll(initializations[i].getOutsideVariable());
+      }
+    }
+    if (increments != null) {
+      for (int i = 0; i < increments.length; i++) {
+        list.addAll(increments[i].getOutsideVariable());
+      }
     }
     return list;
   }
@@ -91,13 +108,21 @@ public class ForStatement extends Statement {
    */
   public List getModifiedVariable() {
     final ArrayList list = new ArrayList();
-    list.addAll(condition.getModifiedVariable());
-    list.addAll(action.getModifiedVariable());
-    for (int i = 0; i < initializations.length; i++) {
-      list.addAll(initializations[i].getModifiedVariable());
+    if (condition != null) {
+      list.addAll(condition.getModifiedVariable());
     }
-    for (int i = 0; i < increments.length; i++) {
-      list.addAll(increments[i].getModifiedVariable());
+    if (action != null) {
+      list.addAll(action.getModifiedVariable());
+    }
+    if (initializations != null) {
+      for (int i = 0; i < initializations.length; i++) {
+        list.addAll(initializations[i].getModifiedVariable());
+      }
+    }
+    if (increments != null) {
+      for (int i = 0; i < increments.length; i++) {
+        list.addAll(increments[i].getModifiedVariable());
+      }
     }
     return list;
   }
@@ -108,13 +133,21 @@ public class ForStatement extends Statement {
    */
   public List getUsedVariable() {
     final ArrayList list = new ArrayList();
-    list.addAll(condition.getUsedVariable());
-    list.addAll(action.getUsedVariable());
-    for (int i = 0; i < initializations.length; i++) {
-      list.addAll(initializations[i].getUsedVariable());
+    if (condition != null) {
+      list.addAll(condition.getUsedVariable());
+    }
+    if (action != null) {
+      list.addAll(action.getUsedVariable());
     }
-    for (int i = 0; i < increments.length; i++) {
-      list.addAll(increments[i].getUsedVariable());
+    if (initializations != null) {
+      for (int i = 0; i < initializations.length; i++) {
+        list.addAll(initializations[i].getUsedVariable());
+      }
+    }
+    if (increments != null) {
+      for (int i = 0; i < increments.length; i++) {
+        list.addAll(increments[i].getUsedVariable());
+      }
     }
     return list;
   }