orc.orchard.oil
Class Value

java.lang.Object
  extended by orc.orchard.oil.Expression
      extended by orc.orchard.oil.Argument
          extended by orc.orchard.oil.Value
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Constant, Field, List, Option, Site, Tuple, UnrepresentableValue

public abstract class Value
extends Argument

Orc values. For convenience, this subsumes all publishable values, even those without a compile-time representation. If you try to unmarshal a value with no compile-time representation you will get an InvalidOilException.

It's nice that by explicitly including these in the Oil format, we allow for the future possibility of including them as compile-time values, so we can do optimizations like constant folding.

Author:
quark
See Also:
Serialized Form

Constructor Summary
Value()
           
 
Method Summary
abstract  Arg unmarshal()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Value

public Value()
Method Detail

unmarshal

public abstract Arg unmarshal()
                       throws InvalidOilException
Specified by:
unmarshal in class Argument
Throws:
InvalidOilException