X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/AbstractCase.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/AbstractCase.java index e31da6b..0af2440 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/AbstractCase.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/AbstractCase.java @@ -1,13 +1,64 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; +import java.util.ArrayList; + /** + * Superclass of case statement that we can find in a switch. * @author Matthieu Casanova */ public abstract class AbstractCase extends Statement { + + /** The statements in the case. */ public Statement[] statements; - public AbstractCase(Statement[] statements, int sourceStart, int sourceEnd) { + /** + * Create a case statement + * @param statements the statements array + * @param sourceStart the beginning source offset + * @param sourceEnd the ending offset + */ + public AbstractCase(final Statement[] statements, + final int sourceStart, + final int sourceEnd) { super(sourceStart, sourceEnd); this.statements = statements; } + + + /** + * Get the variables from outside (parameters, globals ...) + * @return the variables from outside + */ + public List getOutsideVariable() { + final ArrayList list = new ArrayList(); + for (int i = 0; i < statements.length; i++) { + list.addAll(statements[i].getOutsideVariable()); + } + return list; + } + + /** + * get the modified variables. + * @return the variables from we change value + */ + public List getModifiedVariable() { + final ArrayList list = new ArrayList(); + for (int i = 0; i < statements.length; i++) { + list.addAll(statements[i].getModifiedVariable()); + } + return list; + } + + /** + * Get the variables used. + * @return the variables used + */ + public List getUsedVariable() { + final ArrayList list = new ArrayList(); + for (int i = 0; i < statements.length; i++) { + list.addAll(statements[i].getUsedVariable()); + } + return list; + } }