org.armedbear.lisp
Class LispClass

java.lang.Object
  extended by org.armedbear.lisp.LispObject
      extended by org.armedbear.lisp.StandardObject
          extended by org.armedbear.lisp.LispClass
Direct Known Subclasses:
BuiltInClass, ForwardReferencedClass, SlotClass

public abstract class LispClass
extends StandardObject


Field Summary
 
Fields inherited from class org.armedbear.lisp.StandardObject
layout, slots
 
Constructor Summary
protected LispClass(Layout layout)
           
protected LispClass(Layout layout, Symbol symbol)
           
protected LispClass(Layout layout, Symbol symbol, LispObject directSuperclasses)
           
protected LispClass(Symbol symbol)
           
 
Method Summary
static LispObject addClass(Symbol symbol, LispObject c)
           
static
<T extends LispClass>
T
addClass(Symbol symbol, T c)
           
 LispObject classOf()
           
static LispObject findClass(LispObject name, boolean errorp)
           
static LispClass findClass(Symbol symbol)
           
 Layout getClassLayout()
           
 LispObject getCPL()
           
 LispObject getDirectMethods()
           
 LispObject getDirectSubclasses()
           
 LispObject getDirectSuperclasses()
           
 LispObject getDocumentation()
           
 int getLayoutLength()
           
 LispObject getName()
           
 LispObject getParts()
          Implementing the getParts() protocol will allow INSPECT to return information about the substructure of a descendent of LispObject.
 LispObject getPropertyList()
           
 boolean isFinalized()
           
static void removeClass(Symbol symbol)
           
 void setClassLayout(LispObject layout)
           
 void setCPL(LispObject... cpl)
           
 void setDirectMethods(LispObject methods)
           
 void setDirectSubclasses(LispObject directSubclasses)
           
 void setDirectSuperclass(LispObject superclass)
           
 void setDirectSuperclasses(LispObject directSuperclasses)
           
 void setDocumentation(LispObject doc)
           
 void setFinalized(boolean b)
           
 void setName(LispObject name)
           
 void setPropertyList(LispObject obj)
           
 boolean subclassp(LispObject obj)
           
static boolean subclassp(LispObject cls, LispObject obj)
           
 int sxhash()
           
 LispObject typeOf()
           
 LispObject typep(LispObject type)
           
 
Methods inherited from class org.armedbear.lisp.StandardObject
checkStandardObject, getInstanceSlotValue, getLispClass, printObject, setInstanceSlotValue, setSlotValue, SLOT_VALUE
 
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, COMPLEXP, constantp, CONSTANTP, copyToArray, decr, DENOMINATOR, dispatch, divideBy, doubleValue, elt, endp, ENDP, EQ, eql, eql, eql, EQL, equal, equal, EQUAL, equalp, equalp, evenp, EVENP, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, floatp, FLOATP, floatValue, getBooleanValue, getCallCount, getDescription, getDocumentation, getFixnumSlotValue, getHotCount, getInstance, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, incrementCallCount, incrementHotCount, integerp, INTEGERP, intValue, IS_E, IS_GE, IS_GT, IS_LE, IS_LT, IS_NE, isEqualTo, isEqualTo, isGreaterThan, isGreaterThan, isGreaterThanOrEqualTo, isGreaterThanOrEqualTo, isLessThan, isLessThan, isLessThanOrEqualTo, isLessThanOrEqualTo, isNotEqualTo, isNotEqualTo, isSpecialOperator, isSpecialVariable, javaInstance, javaInstance, LDB, length, LENGTH, listp, LISTP, lockableInstance, LOGAND, LOGAND, LOGIOR, LOGIOR, LOGNOT, LOGXOR, LOGXOR, longValue, minusp, MINUSP, MOD, MOD, multiplyBy, multiplyBy, negate, noFillPointer, NOT, nreverse, NTH, NTH, nthcdr, numberp, NUMBERP, NUMERATOR, oddp, ODDP, plusp, PLUSP, princToString, psxhash, psxhash, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, SIMPLE_STRING_P, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, SYMBOLP, truncate, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LispClass

protected LispClass(Layout layout)

LispClass

protected LispClass(Symbol symbol)

LispClass

protected LispClass(Layout layout,
                    Symbol symbol)

LispClass

protected LispClass(Layout layout,
                    Symbol symbol,
                    LispObject directSuperclasses)
Method Detail

addClass

public static <T extends LispClass> T addClass(Symbol symbol,
                                               T c)

addClass

public static LispObject addClass(Symbol symbol,
                                  LispObject c)

removeClass

public static void removeClass(Symbol symbol)

findClass

public static LispClass findClass(Symbol symbol)

findClass

public static LispObject findClass(LispObject name,
                                   boolean errorp)

getParts

public LispObject getParts()
Description copied from class: LispObject
Implementing the getParts() protocol will allow INSPECT to return information about the substructure of a descendent of LispObject. The protocol is to return a List of Cons pairs, where the car of each pair contains a decriptive string, and the cdr returns a subobject for inspection.

Overrides:
getParts in class StandardObject

sxhash

public final int sxhash()
Overrides:
sxhash in class LispObject

getName

public LispObject getName()

setName

public void setName(LispObject name)

getPropertyList

public final LispObject getPropertyList()
Overrides:
getPropertyList in class LispObject

setPropertyList

public final void setPropertyList(LispObject obj)
Overrides:
setPropertyList in class LispObject

getClassLayout

public Layout getClassLayout()

setClassLayout

public void setClassLayout(LispObject layout)

getLayoutLength

public final int getLayoutLength()

getDirectSuperclasses

public LispObject getDirectSuperclasses()

setDirectSuperclasses

public void setDirectSuperclasses(LispObject directSuperclasses)

isFinalized

public boolean isFinalized()

setFinalized

public void setFinalized(boolean b)

setDirectSuperclass

public final void setDirectSuperclass(LispObject superclass)

getDirectSubclasses

public LispObject getDirectSubclasses()

setDirectSubclasses

public void setDirectSubclasses(LispObject directSubclasses)

getCPL

public LispObject getCPL()

setCPL

public void setCPL(LispObject... cpl)

getDirectMethods

public LispObject getDirectMethods()

setDirectMethods

public void setDirectMethods(LispObject methods)

getDocumentation

public LispObject getDocumentation()

setDocumentation

public void setDocumentation(LispObject doc)

typeOf

public LispObject typeOf()
Overrides:
typeOf in class StandardObject

classOf

public LispObject classOf()
Overrides:
classOf in class StandardObject

typep

public LispObject typep(LispObject type)
Overrides:
typep in class StandardObject

subclassp

public boolean subclassp(LispObject obj)

subclassp

public static boolean subclassp(LispObject cls,
                                LispObject obj)