ce9fd593764346d97dd2b4540f1050f947e37611
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / Block.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 /**
4  * A Block is
5  * {
6  * statements
7  * }.
8  * @author Matthieu Casanova
9  */
10 public class Block extends Statement {
11
12   /** An array of statements inside the block. */
13   public Statement[] statements;
14
15   /**
16    * Create a block.
17    * @param statements the statements
18    * @param sourceStart starting offset
19    * @param sourceEnd ending offset
20    */
21   public Block(Statement[] statements,int sourceStart, int sourceEnd) {
22     super(sourceStart, sourceEnd);
23     this.statements = statements;
24   }
25
26   public boolean isEmptyBlock() {
27     return statements == null;
28   }
29
30   public String toString(int tab) {
31     final String s = AstNode.tabString(tab);
32     final StringBuffer buff = new StringBuffer(s);
33     buff.append("{\n"); //$NON-NLS-1$
34     if (this.statements == null) {
35       for (int i = 0; i < statements.length; i++) {
36           buff.append(statements[i].toString(tab+1)).append(";\n");//$NON-NLS-1$
37       }
38     }
39     buff.append("}\n"); //$NON-NLS-1$
40     return buff.toString();
41   }
42 }