blob: aaa975e300f938843aba2f738db0c92ef116634f [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.google.dart.compiler.ast;
/**
* Represents a Dart 'while' statement.
*/
public class DartWhileStatement extends DartStatement {
private DartExpression condition;
private final int closeParenOffset;
private DartStatement body;
public DartWhileStatement(DartExpression condition, int closeParenOffset, DartStatement body) {
this.condition = becomeParentOf(condition);
this.closeParenOffset = closeParenOffset;
this.body = becomeParentOf(body);
}
public DartStatement getBody() {
return body;
}
public DartExpression getCondition() {
return condition;
}
public int getCloseParenOffset() {
return closeParenOffset;
}
@Override
public void visitChildren(ASTVisitor<?> visitor) {
safelyVisitChild(condition, visitor);
safelyVisitChild(body, visitor);
}
@Override
public <R> R accept(ASTVisitor<R> visitor) {
return visitor.visitWhileStatement(this);
}
}