Package org.armedbear.lisp
Class Closure
java.lang.Object
org.armedbear.lisp.LispObject
org.armedbear.lisp.Operator
org.armedbear.lisp.Function
org.armedbear.lisp.Closure
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CompiledClosure
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.armedbear.lisp.Function
Function.ObjectInputStreamWithClassLoader, Function.pf_function_class_bytes, Function.SerializedLocalFunction, Function.SerializedNamedFunction
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
Fields inherited from class org.armedbear.lisp.Function
FUNCTION_CLASS_BYTES, loadedFrom
Fields inherited from class org.armedbear.lisp.Operator
lambdaName
-
Constructor Summary
ConstructorsConstructorDescriptionClosure
(ArgumentListProcessor arglist) Construct a closure object with a lambda-list described by these parameters.Closure
(LispObject lambdaExpression, Environment env) Closure
(LispObject name, LispObject lambdaExpression, Environment env) -
Method Summary
Modifier and TypeMethodDescriptionexecute()
execute
(LispObject arg) execute
(LispObject[] args) execute
(LispObject first, LispObject second) execute
(LispObject first, LispObject second, LispObject third) execute
(LispObject first, LispObject second, LispObject third, LispObject fourth) execute
(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth) execute
(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth) execute
(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh) execute
(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh, LispObject eighth) final LispObject
getBody()
final Environment
final LispObject
protected final LispObject[]
processArgs
(LispObject[] args, LispThread thread) protected boolean
typep
(LispObject typeSpecifier) Methods inherited from class org.armedbear.lisp.Function
argCountError, classOf, getCallCount, getClassBytes, getHotCount, getPropertyList, incrementCallCount, incrementHotCount, printObject, setCallCount, setClassBytes, setHotCount, setPropertyList, typeOf, writeReplace
Methods inherited from class org.armedbear.lisp.Operator
getLambdaList, getLambdaName, getParts, setLambdaList, setLambdaName
Methods inherited from class org.armedbear.lisp.LispObject
ABS, add, add, aref, AREF, AREF, aref_long, 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, floatp, FLOATP, floatValue, getBooleanValue, getDescription, getDocumentation, getFixnumSlotValue, getInstance, getSlotValue, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, 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, setCar, setCdr, setDocumentation, setSlotValue, setSlotValue, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, SIMPLE_STRING_P, SLOT_VALUE, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
-
Field Details
-
REQUIRED
public static final int REQUIRED- See Also:
-
OPTIONAL
public static final int OPTIONAL- See Also:
-
KEYWORD
public static final int KEYWORD- See Also:
-
REST
public static final int REST- See Also:
-
AUX
public static final int AUX- See Also:
-
-
Constructor Details
-
Closure
Construct a closure object with a lambda-list described by these parameters.- Parameters:
required
- Required parameters or an empty array for noneoptional
- Optional parameters or an empty array for nonekeyword
- Keyword parameters or an empty array for nonekeys
- NIL if the lambda-list doesn't contain &key, T otherwiserest
- the &rest parameter, or NIL if nonemoreKeys
- NIL if &allow-other-keys not present, T otherwise
-
Closure
-
Closure
-
-
Method Details
-
typep
-
getVariableList
-
getBody
-
getEnvironment
-
execute
-
execute
-
execute
-
execute
-
execute
-
execute
public LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth) -
execute
public LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth) -
execute
public LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh) -
execute
public LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh, LispObject eighth) -
execute
-
processArgs
-
shouldSerializeByName
protected boolean shouldSerializeByName()- Overrides:
shouldSerializeByName
in classFunction
-