1 16 package com.google.gwt.dev.jjs.ast; 17 18 import com.google.gwt.dev.jjs.SourceInfo; 19 20 23 public abstract class JUnaryOperation extends JExpression { 24 25 private JExpression arg; 26 private final JUnaryOperator op; 27 28 public JUnaryOperation(JProgram program, SourceInfo info, 29 JUnaryOperator op, JExpression arg) { 30 super(program, info); 31 this.op = op; 32 this.arg = arg; 33 } 34 35 public JExpression getArg() { 36 return arg; 37 } 38 39 public JUnaryOperator getOp() { 40 return op; 41 } 42 43 public JType getType() { 44 return arg.getType(); 46 } 47 48 public boolean hasSideEffects() { 49 return getOp().isModifying() || arg.hasSideEffects(); 50 } 51 52 public void traverse(JVisitor visitor, Context ctx) { 53 arg = visitor.accept(arg); 54 } 55 } 56 | Popular Tags |