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: * A JavaScript prefix or postfix operation.
20: */
21: public abstract class JsUnaryOperation extends JsExpression {
22:
23: private JsExpression arg;
24:
25: private final JsUnaryOperator op;
26:
27: public JsUnaryOperation(JsUnaryOperator op) {
28: this (op, null);
29: }
30:
31: public JsUnaryOperation(JsUnaryOperator op, JsExpression arg) {
32: this .op = op;
33: this .arg = arg;
34: }
35:
36: public JsExpression getArg() {
37: return arg;
38: }
39:
40: public JsUnaryOperator getOperator() {
41: return op;
42: }
43:
44: public void setArg(JsExpression arg) {
45: this .arg = arg;
46: }
47:
48: public void traverse(JsVisitor v, JsContext<JsExpression> ctx) {
49: arg = v.accept(arg);
50: }
51: }
|