uk.ac.man.cs.rainbow.compiler.expressions
Class UnaryOp

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.compiler.CompilerThing
        |
        +--uk.ac.man.cs.rainbow.compiler.CompilerNode
              |
              +--uk.ac.man.cs.rainbow.compiler.expressions.Expression
                    |
                    +--uk.ac.man.cs.rainbow.compiler.expressions.UnaryOp
All Implemented Interfaces:
Cloneable, Serializable

public class UnaryOp
extends Expression

See Also:
Serialized Form

Fields inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
next, sourcepos
 
Constructor Summary
UnaryOp(SourcePosition sourcepos, String op, Expression exp)
           
 
Method Summary
 RASMList rasm(CGEnv env)
           
 Constant reduce_to_constant(TCEnv env, Errors errors)
           
 String toString()
           
 Expression typecheckExpr(TCEnv env, Errors errors, CompilerType expected, String context)
           
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.expressions.Expression
check_nominal, cloneExpression, cloneExpressionNoParent, getSpec, map_accumulate_reduce_to_constant, reduce_to_integer_constant, setSpec, size_allowing_for_repeats, specList, typecheckExprList
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerNode
append, appendNotParent, dumpNode, dumpTree, getParent, indent, iterator, list_typecheck, list_typecheck, listLength, listToString, noParent, rasm_list, rasm, setParent, typecheck, typecheck, typecheckGreen, typecheckGreen
 
Methods inherited from class uk.ac.man.cs.rainbow.compiler.CompilerThing
className, crashHere, getSerial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UnaryOp

public UnaryOp(SourcePosition sourcepos,
               String op,
               Expression exp)
Method Detail

toString

public String toString()
Overrides:
toString in class Expression

typecheckExpr

public Expression typecheckExpr(TCEnv env,
                                Errors errors,
                                CompilerType expected,
                                String context)
Overrides:
typecheckExpr in class Expression

reduce_to_constant

public Constant reduce_to_constant(TCEnv env,
                                   Errors errors)
Overrides:
reduce_to_constant in class Expression

rasm

public RASMList rasm(CGEnv env)
Overrides:
rasm in class CompilerNode