package chocopy.common.astnodes; import chocopy.common.analysis.NodeAnalyzer; import java_cup.runtime.ComplexSymbolFactory.Location; /** An expression applying a unary operator. */ public class UnaryExpr extends Expr { /** The text representation of the operator. */ public final String operator; /** The operand to which it is applied. */ public final Expr operand; /** The AST for OPERATOR OPERAND spanning source locations [LEFT..RIGHT]. */ public UnaryExpr(Location left, Location right, String operator, Expr operand) { super(left, right); this.operator = operator; this.operand = operand; } public T dispatch(NodeAnalyzer analyzer) { return analyzer.analyze(this); } }