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; /** * 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; } }