some bugfixes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / Case.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import java.util.List;
4
5 /**
6  * A Case statement for a Switch.
7  * @author Matthieu Casanova
8  */
9 public class Case extends AbstractCase {
10
11   public Expression value;
12
13   public Case(final Expression value,
14               final Statement[] statements,
15               final int sourceStart,
16               final int sourceEnd) {
17     super(statements, sourceStart, sourceEnd);
18     this.value = value;
19   }
20
21   /**
22    * Return the object into String.
23    * @param tab how many tabs (not used here
24    * @return a String
25    */
26   public String toString(final int tab) {
27     final StringBuffer buff = new StringBuffer(tabString(tab));
28     buff.append("case ");
29     buff.append(value.toStringExpression());
30     buff.append(" :\n");
31     if (statements != null) {
32       for (int i = 0; i < statements.length; i++) {
33         final Statement statement = statements[i];
34         buff.append(statement.toString(tab + 1));
35       }
36     }
37     return buff.toString();
38   }
39
40   /**
41    * get the modified variables.
42    */
43   public void getModifiedVariable(final List list) {
44     super.getModifiedVariable(list);
45     value.getModifiedVariable(list);
46   }
47
48   /**
49    * Get the variables used.
50    */
51   public void getUsedVariable(final List list) {
52     super.getUsedVariable(list);
53     value.getUsedVariable(list);
54   }
55 }