package net.sourceforge.phpdt.internal.compiler.ast;
+import java.util.List;
+
/**
* A Case statement for a Switch.
* @author Matthieu Casanova
*/
-public class Case extends AbstractCase {
+public final class Case extends AbstractCase {
- public Expression value;
- public Statement[] statements;
+ private final Expression value;
- public Case(Expression value,
- Statement[] statements,
- int sourceStart,
- int sourceEnd) {
+ public Case(final Expression value,
+ final Statement[] statements,
+ final int sourceStart,
+ final int sourceEnd) {
super(statements, sourceStart, sourceEnd);
this.value = value;
}
* @param tab how many tabs (not used here
* @return a String
*/
- public String toString(int tab) {
+ public String toString(final int tab) {
final StringBuffer buff = new StringBuffer(tabString(tab));
buff.append("case ");
buff.append(value.toStringExpression());
buff.append(" :\n");
- for (int i = 0; i < statements.length; i++) {
- Statement statement = statements[i];
- buff.append(statement.toString(tab + 1));
+ if (statements != null) {
+ for (int i = 0; i < statements.length; i++) {
+ final Statement statement = statements[i];
+ buff.append(statement.toString(tab + 1));
+ }
}
return buff.toString();
}
+
+ /**
+ * get the modified variables.
+ *
+ * @param list the list where we will put variables
+ */
+ public void getModifiedVariable(final List list) {
+ super.getModifiedVariable(list);
+ value.getModifiedVariable(list);
+ }
+
+ /**
+ * Get the variables used.
+ *
+ * @param list the list where we will put variables
+ */
+ public void getUsedVariable(final List list) {
+ super.getUsedVariable(list);
+ value.getUsedVariable(list);
+ }
}