a little bug fixed in the switch labels
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / Else.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 /**
7  * an else statement.
8  * it's else
9  * @author Matthieu Casanova
10  */
11 public class Else extends Statement {
12
13   /** the statements. */
14   public Statement[] statements;
15
16   /**
17    * An else statement bad version ( : endif).
18    * @param statements the statements
19    * @param sourceStart the starting offset
20    * @param sourceEnd the ending offset
21    */
22   public Else(final Statement[] statements,
23               final int sourceStart,
24               final int sourceEnd) {
25     super(sourceStart, sourceEnd);
26     this.statements = statements;
27   }
28
29   /**
30    * An else statement good version
31    * @param statement the statement (it could be a block)
32    * @param sourceStart the starting offset
33    * @param sourceEnd the ending offset
34    */
35   public Else(final Statement statement,
36               final int sourceStart,
37               final int sourceEnd) {
38     super(sourceStart, sourceEnd);
39     this.statements = new Statement[1];
40     this.statements[0] = statement;
41   }
42
43   /**
44    * Return the object into String.
45    * @param tab how many tabs (not used here
46    * @return a String
47    */
48   public String toString(final int tab) {
49     final StringBuffer buff = new StringBuffer(tabString(tab));
50     buff.append("else \n");//$NON-NLS-1$
51     Statement statement;
52     for (int i = 0; i < statements.length; i++) {
53       statement = statements[i];
54       buff.append(statement.toString(tab + 1)).append("\n");//$NON-NLS-1$
55     }
56     return buff.toString();
57   }
58
59   /**
60    * Get the variables from outside (parameters, globals ...)
61    */
62   public void getOutsideVariable(final List list) {
63     for (int i = 0; i < statements.length; i++) {
64       statements[i].getOutsideVariable(list);
65     }
66   }
67
68   /**
69    * get the modified variables.
70    */
71   public void getModifiedVariable(final List list) {
72     for (int i = 0; i < statements.length; i++) {
73       statements[i].getModifiedVariable(list);
74     }
75   }
76
77   /**
78    * Get the variables used.
79    */
80   public void getUsedVariable(final List list) {
81     for (int i = 0; i < statements.length; i++) {
82       statements[i].getUsedVariable(list);
83     }
84   }
85 }