1a8033318eb15a9a330b51f11848c2cbe7d92558
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / DoStatement.java
1 package net.sourceforge.phpdt.internal.compiler.ast;
2
3 /**
4  * @author Matthieu Casanova
5  */
6 public class DoStatement extends Statement {
7
8
9   /** The condition expression. */
10   public Expression condition;
11   /** The action of the while. (it could be a block) */
12   public Statement action;
13
14   public DoStatement(Expression condition,
15                      Statement action,
16                      int sourceStart,
17                      int sourceEnd) {
18     super(sourceStart, sourceEnd);
19     this.condition = condition;
20     this.action = action;
21   }
22
23   /**
24    * Return the object into String.
25    * @param tab how many tabs (not used here
26    * @return a String
27    */
28   public String toString(int tab) {
29     final String s = tabString(tab);
30     final StringBuffer buff = new StringBuffer("do "); //$NON-NLS-1$
31     if (action == null) {
32       buff.append(" {} ;"); //$NON-NLS-1$
33     } else {
34       buff.append("\n").append(action.toString(tab + 1)); //$NON-NLS-1$
35     }
36     buff.append(s).append(" while (");
37     buff.append(condition.toStringExpression()).append(")");    //$NON-NLS-1$
38     return buff.toString();
39   }
40 }