01: /*
02: * Copyright 2007 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.dev.js.ast;
17:
18: /**
19: * Reprents a JavaScript if statement.
20: */
21: public final class JsIf extends JsStatement {
22:
23: private JsExpression ifExpr;
24:
25: private JsStatement thenStmt;
26:
27: private JsStatement elseStmt;
28:
29: public JsIf() {
30: }
31:
32: public JsStatement getElseStmt() {
33: return elseStmt;
34: }
35:
36: public JsExpression getIfExpr() {
37: return ifExpr;
38: }
39:
40: public JsStatement getThenStmt() {
41: return thenStmt;
42: }
43:
44: public void setElseStmt(JsStatement elseStmt) {
45: this .elseStmt = elseStmt;
46: }
47:
48: public void setIfExpr(JsExpression ifExpr) {
49: this .ifExpr = ifExpr;
50: }
51:
52: public void setThenStmt(JsStatement thenStmt) {
53: this .thenStmt = thenStmt;
54: }
55:
56: public void traverse(JsVisitor v, JsContext<JsStatement> ctx) {
57: if (v.visit(this, ctx)) {
58: ifExpr = v.accept(ifExpr);
59: thenStmt = v.accept(thenStmt);
60: if (elseStmt != null) {
61: elseStmt = v.accept(elseStmt);
62: }
63: }
64: v.endVisit(this, ctx);
65: }
66: }
|