org.armedbear.lisp
Class Closure

java.lang.Object
  extended by org.armedbear.lisp.Lisp
      extended by org.armedbear.lisp.LispObject
          extended by org.armedbear.lisp.Operator
              extended by org.armedbear.lisp.Function
                  extended by org.armedbear.lisp.Closure
Direct Known Subclasses:
ClosureTemplateFunction, CompiledFunction

public class Closure
extends Function


Field Summary
 
Fields inherited from class org.armedbear.lisp.Operator
lambdaName
 
Fields inherited from class org.armedbear.lisp.Lisp
_AUTOLOAD_VERBOSE_, _BACKQUOTE_COUNT_, _BATCH_MODE_, _BQ_VECTOR_FLAG_, _CL_PACKAGE_, _COMPILE_FILE_ENVIRONMENT_, _COMPILE_FILE_TYPE_, _COMPILE_FILE_ZIP_, _CURRENT_PRINT_LENGTH_, _CURRENT_PRINT_LEVEL_, _DEBUG_, _DISASSEMBLER_, _ENABLE_INLINE_EXPANSION_, _EXPLAIN_, _KEYWORD_PACKAGE_, _LOAD_DEPTH_, _LOAD_STREAM_, _NOINFORM_, _PRINT_FASL_, _PRINT_STRUCTURE_, _REQUIRE_STACK_FRAME_, _SAFETY_, _SAVED_BACKTRACE_, _SLOT_UNBOUND_, _SOURCE_, _SOURCE_POSITION_, _SPACE_, _SPEED_, _TRACED_NAMES_, _WARN_ON_REDEFINITION_, ARRAY_DIMENSION_MAX, CALL_REGISTERS_LIMIT, CALL_REGISTERS_MAX, CHAR_MAX, cold, COMPILE_FILE_TYPE, debug, EOF, FUNCTION_NAME, initialized, interrupted, NIL, NULL_VALUE, PACKAGE_CL, PACKAGE_CL_USER, PACKAGE_EXT, PACKAGE_JAVA, PACKAGE_JVM, PACKAGE_KEYWORD, PACKAGE_LOOP, PACKAGE_MOP, PACKAGE_PROF, PACKAGE_SYS, PACKAGE_TPL, profiling, REMEMBER, sampleNow, sampling, STANDARD_READTABLE, T, TRAP_OVERFLOW, TRAP_UNDERFLOW, UNBOUND_VALUE, UNSIGNED_BYTE_16, UNSIGNED_BYTE_32, UNSIGNED_BYTE_32_MAX_VALUE, UNSIGNED_BYTE_8
 
Constructor Summary
Closure(LispObject lambdaExpression, Environment env)
           
Closure(LispObject name, LispObject lambdaExpression, Environment env)
           
 
Method Summary
 LispObject execute()
           
 LispObject execute(LispObject arg)
           
 LispObject execute(LispObject[] args)
           
 LispObject execute(LispObject first, LispObject second)
           
 LispObject execute(LispObject first, LispObject second, LispObject third)
           
 LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth)
           
 LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth)
           
 LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth)
           
 LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh)
           
 LispObject execute(LispObject first, LispObject second, LispObject third, LispObject fourth, LispObject fifth, LispObject sixth, LispObject seventh, LispObject eighth)
           
protected  LispObject[] fastProcessArgs(LispObject[] args)
           
 LispObject getBody()
           
 Environment getEnvironment()
           
 LispObject getVariableList()
           
 LispObject invokeArrayExecute(LispObject... objects)
           
protected  LispObject[] processArgs(LispObject[] args, LispThread thread)
           
 LispObject typep(LispObject typeSpecifier)
           
 
Methods inherited from class org.armedbear.lisp.Function
argCountError, classOf, getCallCount, getPropertyList, incrementCallCount, setCallCount, setClassBytes, setPropertyList, typeOf, writeToString
 
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_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, floatp, FLOATP, floatValue, getBooleanValue, getDescription, getDocumentation, getFixnumSlotValue, getInstance, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, 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, 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, reverse, RPLACA, RPLACD, SCHAR, setCar, setCdr, setDocumentation, 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, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
 
Methods inherited from class org.armedbear.lisp.Lisp
assq, bindArg, checkArray, checkBinaryInputStream, checkBounds, checkCharacter, checkCharacterInputStream, checkCharacterOutputStream, checkEnvironment, checkFunction, checkList, checkPackage, checkReadtable, checkStream, checkSymbol, checkVector, coerceJavaByteToLispObject, coerceLispObjectToJavaByte, coerceToFunction, coerceToPackage, coerceToPathname, currentReadtable, designator_readtable, error, error, eval, eval, evalCall, exit, exportConstant, exportSpecial, format, funcall, gensym, gensym, get, get, getCurrentPackage, getf, getStandardInput, getStandardOutput, getTerminalIO, getUpgradedArrayElementType, handleInterrupt, inSynonymOf, intern, internConstant, internInPackage, internKeyword, internSpecial, isValidSetfFunctionName, javaString, list, list1, list2, list3, list4, list5, list6, list7, list8, list9, loadCompiledFunction, loadTimeValue, macroexpand_1, macroexpand, makeCompiledClosure, memq, memql, mix, mod, multipleValueCall1, multipleValueList, number, number, number, progn, progvBindVars, put, putf, readObjectFromString, recall, remprop, resetIO, resetIO, safeWriteToString, setInterrupted, type_error, writeByte
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Closure

public Closure(LispObject lambdaExpression,
               Environment env)
        throws ConditionThrowable
Throws:
ConditionThrowable

Closure

public Closure(LispObject name,
               LispObject lambdaExpression,
               Environment env)
        throws ConditionThrowable
Throws:
ConditionThrowable
Method Detail

typep

public LispObject typep(LispObject typeSpecifier)
                 throws ConditionThrowable
Overrides:
typep in class Function
Throws:
ConditionThrowable

getVariableList

public final LispObject getVariableList()

getBody

public final LispObject getBody()

getEnvironment

public final Environment getEnvironment()

execute

public LispObject execute()
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

invokeArrayExecute

public final LispObject invokeArrayExecute(LispObject... objects)
                                    throws ConditionThrowable
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject arg)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third,
                          LispObject fourth)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third,
                          LispObject fourth,
                          LispObject fifth)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third,
                          LispObject fourth,
                          LispObject fifth,
                          LispObject sixth)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third,
                          LispObject fourth,
                          LispObject fifth,
                          LispObject sixth,
                          LispObject seventh)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject first,
                          LispObject second,
                          LispObject third,
                          LispObject fourth,
                          LispObject fifth,
                          LispObject sixth,
                          LispObject seventh,
                          LispObject eighth)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

execute

public LispObject execute(LispObject[] args)
                   throws ConditionThrowable
Overrides:
execute in class Function
Throws:
ConditionThrowable

processArgs

protected final LispObject[] processArgs(LispObject[] args,
                                         LispThread thread)
                                  throws ConditionThrowable
Throws:
ConditionThrowable

fastProcessArgs

protected final LispObject[] fastProcessArgs(LispObject[] args)
                                      throws ConditionThrowable
Throws:
ConditionThrowable