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: * Represents a JavaScript binary operation.
20: */
21: public final class JsBinaryOperation extends JsExpression {
22:
23: private JsExpression arg1;
24:
25: private JsExpression arg2;
26:
27: private final JsBinaryOperator op;
28:
29: public JsBinaryOperation(JsBinaryOperator op) {
30: this (op, null, null);
31: }
32:
33: public JsBinaryOperation(JsBinaryOperator op, JsExpression arg1,
34: JsExpression arg2) {
35: this .op = op;
36: this .arg1 = arg1;
37: this .arg2 = arg2;
38: }
39:
40: public JsExpression getArg1() {
41: return arg1;
42: }
43:
44: public JsExpression getArg2() {
45: return arg2;
46: }
47:
48: public JsBinaryOperator getOperator() {
49: return op;
50: }
51:
52: public void setArg1(JsExpression arg1) {
53: this .arg1 = arg1;
54: }
55:
56: public void setArg2(JsExpression arg2) {
57: this .arg2 = arg2;
58: }
59:
60: public void traverse(JsVisitor v, JsContext<JsExpression> ctx) {
61: if (v.visit(this, ctx)) {
62: arg1 = v.accept(arg1);
63: arg2 = v.accept(arg2);
64: }
65: v.endVisit(this, ctx);
66: }
67: }
|