X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ForStatement.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ForStatement.java index 212d451..689a737 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ForStatement.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/ForStatement.java @@ -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; }