orc.runtime.values
Class NilValue
java.lang.Object
orc.runtime.values.Value
orc.runtime.values.ListValue
orc.runtime.values.NilValue
- All Implemented Interfaces:
- java.lang.Iterable, Eq, ListLike
public class NilValue
- extends ListValue
Method Summary |
|
accept(Visitor<E> visitor)
|
java.util.List<java.lang.Object> |
enlist()
|
boolean |
eqTo(java.lang.Object that)
Return true if this is equivalent to that. |
int |
hashCode()
|
java.lang.String |
toString()
|
void |
uncons(Token caller)
Return the head and tail of a cons-like data structure to a token, or
die. |
void |
unnil(Token caller)
Signal a token if this value is equivalent to nil, or die. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
singleton
public static final NilValue singleton
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
uncons
public void uncons(Token caller)
- Description copied from interface:
ListLike
- Return the head and tail of a cons-like data structure to a token, or
die. The only place this should be called is
TryCons
- Specified by:
uncons
in interface ListLike
- Specified by:
uncons
in class ListValue
unnil
public void unnil(Token caller)
- Description copied from interface:
ListLike
- Signal a token if this value is equivalent to nil, or die. The only place
this should be called is
TryNil
- Specified by:
unnil
in interface ListLike
- Specified by:
unnil
in class ListValue
enlist
public java.util.List<java.lang.Object> enlist()
- Specified by:
enlist
in class ListValue
accept
public <E> E accept(Visitor<E> visitor)
- Overrides:
accept
in class ListValue
eqTo
public boolean eqTo(java.lang.Object that)
- Description copied from interface:
Eq
- Return true if this is equivalent to that. that is assumed to be
non-null. This is often implemented in terms of
Equal.eq(Object, Object)
. Two "eq" objects should have
the same hashCode at the time they are compared.
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object