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 }