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..4817163 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,57 @@ package net.sourceforge.phpdt.internal.compiler.ast; +import java.util.List; + /** + * Superclass of case statement that we can find in a switch. * @author Matthieu Casanova */ public abstract class AbstractCase extends Statement { - public Statement[] statements; - public AbstractCase(Statement[] statements, int sourceStart, int sourceEnd) { + /** The statements in the case. */ + public final Statement[] statements; + + /** + * Create a case statement. + * @param statements the statements array + * @param sourceStart the beginning source offset + * @param sourceEnd the ending offset + */ + protected AbstractCase(final Statement[] statements, + final int sourceStart, + final int sourceEnd) { super(sourceStart, sourceEnd); this.statements = statements; } + + + /** + * Get the variables from outside (parameters, globals ...). + * @param list the list where we will put variables + */ + public final void getOutsideVariable(final List list) { + for (int i = 0; i < statements.length; i++) { + statements[i].getOutsideVariable(list); + } + } + + /** + * get the modified variables. + * @param list the list where we will put variables + */ + public void getModifiedVariable(final List list) { + for (int i = 0; i < statements.length; i++) { + statements[i].getModifiedVariable(list); + } + } + + /** + * Get the variables used. + * @param list the list where we will put variables + */ + public void getUsedVariable(final List list) { + for (int i = 0; i < statements.length; i++) { + statements[i].getUsedVariable(list); + } + } }