public class Layout extends LispObject
Modifier and Type | Field and Description |
---|---|
private static Primitive |
_MAKE_INSTANCES_OBSOLETE |
private boolean |
invalid |
private static Primitive |
LAYOUT_CLASS |
private static Primitive |
LAYOUT_LENGTH |
private static Primitive |
LAYOUT_SLOT_INDEX |
private static Primitive |
LAYOUT_SLOT_LOCATION |
private LispObject |
lispClass |
private static Primitive |
MAKE_LAYOUT |
(package private) LispObject |
sharedSlots |
(package private) LispObject[] |
slotNames |
ConcurrentHashMap<LispObject,LispObject> |
slotTable |
Constructor and Description |
---|
Layout(Layout oldLayout) |
Layout(LispObject lispClass,
LispObject[] instanceSlotNames,
LispObject sharedSlots) |
Layout(LispObject lispClass,
LispObject instanceSlots,
LispObject sharedSlots) |
Modifier and Type | Method and Description |
---|---|
protected LispObject |
generateSlotDefinitions() |
int |
getLength() |
LispObject |
getLispClass() |
LispObject |
getParts()
Implementing the getParts() protocol will allow INSPECT to
return information about the substructure of a descendent of
LispObject.
|
LispObject |
getSharedSlotLocation(LispObject slotName) |
LispObject |
getSharedSlots() |
int |
getSlotIndex(LispObject slotName) |
LispObject[] |
getSlotNames() |
private ConcurrentHashMap |
initializeSlotTable(LispObject[] slotNames) |
void |
invalidate() |
boolean |
isInvalid() |
String |
writeToString() |
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, classOf, 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, getPropertyList, 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, psxhash, psxhash, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setPropertyList, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, setSlotValue, SIMPLE_STRING_P, SLOT_VALUE, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, typeOf, typep, unreadableString, unreadableString, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
private final LispObject lispClass
public final ConcurrentHashMap<LispObject,LispObject> slotTable
final LispObject[] slotNames
final LispObject sharedSlots
private boolean invalid
private static final Primitive MAKE_LAYOUT
private static final Primitive LAYOUT_CLASS
private static final Primitive LAYOUT_LENGTH
private static final Primitive LAYOUT_SLOT_INDEX
private static final Primitive LAYOUT_SLOT_LOCATION
private static final Primitive _MAKE_INSTANCES_OBSOLETE
public Layout(LispObject lispClass, LispObject instanceSlots, LispObject sharedSlots)
public Layout(LispObject lispClass, LispObject[] instanceSlotNames, LispObject sharedSlots)
Layout(Layout oldLayout)
private ConcurrentHashMap initializeSlotTable(LispObject[] slotNames)
public LispObject getParts()
LispObject
getParts
in class LispObject
public LispObject getLispClass()
public boolean isInvalid()
public void invalidate()
public LispObject[] getSlotNames()
public int getLength()
public LispObject getSharedSlots()
public String writeToString()
writeToString
in class LispObject
protected LispObject generateSlotDefinitions()
public int getSlotIndex(LispObject slotName)
public LispObject getSharedSlotLocation(LispObject slotName)