001 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
002 // for details. All rights reserved. Use of this source code is governed by a
003 // BSD-style license that can be found in the LICENSE file.
004
005 package com.google.dart.compiler.backend.js.ast;
006
007 public final class JsConditional extends JsExpressionImpl {
008 private JsExpression testExpression;
009 private JsExpression elseExpression;
010 private JsExpression thenExpression;
011
012 public JsConditional() {
013 }
014
015 public JsConditional(JsExpression testExpression, JsExpression thenExpression, JsExpression elseExpression) {
016 this.testExpression = testExpression;
017 this.thenExpression = thenExpression;
018 this.elseExpression = elseExpression;
019 }
020
021 public JsExpression getElseExpression() {
022 return elseExpression;
023 }
024
025 public JsExpression getTestExpression() {
026 return testExpression;
027 }
028
029 public JsExpression getThenExpression() {
030 return thenExpression;
031 }
032
033 public void setElseExpression(JsExpression elseExpression) {
034 this.elseExpression = elseExpression;
035 }
036
037 public void setTestExpression(JsExpression testExpression) {
038 this.testExpression = testExpression;
039 }
040
041 public void setThenExpression(JsExpression thenExpression) {
042 this.thenExpression = thenExpression;
043 }
044
045 @Override
046 public void accept(JsVisitor v) {
047 v.visitConditional(this);
048 }
049
050 @Override
051 public void acceptChildren(JsVisitor visitor) {
052 visitor.accept(testExpression);
053 visitor.accept(thenExpression);
054 visitor.accept(elseExpression);
055 }
056 }