gnu.kawa.functions
Class Apply

java.lang.Object
  extended by gnu.mapping.PropertySet
      extended by gnu.mapping.Procedure
          extended by gnu.mapping.ProcedureN
              extended by gnu.kawa.functions.Apply
All Implemented Interfaces:
Named

public class Apply
extends ProcedureN

Implement the standard Scheme function "apply". This has been generalized so that the last (list argument) can be any sequence, or any primitive array coercible to Object[].


Field Summary
 
Fields inherited from class gnu.mapping.ProcedureN
noArgs
 
Fields inherited from class gnu.mapping.Procedure
compilerKey, validateApplyKey
 
Fields inherited from class gnu.mapping.PropertySet
nameKey
 
Constructor Summary
Apply(java.lang.String name, ApplyToArgs applyToArgs)
           
 
Method Summary
 void apply(CallContext ctx)
          Call this Procedure using the explicit-CallContext-convention.
 java.lang.Object applyN(java.lang.Object[] args)
           
static java.lang.Object[] getArguments(java.lang.Object[] args, int skip, Procedure proc)
           
 
Methods inherited from class gnu.mapping.ProcedureN
apply0, apply1, apply2, apply3, apply4
 
Methods inherited from class gnu.mapping.Procedure
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, numArgs, set0, set1, setN, setSetter, setSourceLocation, toString
 
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Apply

public Apply(java.lang.String name,
             ApplyToArgs applyToArgs)
Method Detail

getArguments

public static java.lang.Object[] getArguments(java.lang.Object[] args,
                                              int skip,
                                              Procedure proc)

applyN

public java.lang.Object applyN(java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
applyN in class ProcedureN
Throws:
java.lang.Throwable

apply

public void apply(CallContext ctx)
           throws java.lang.Throwable
Description copied from class: Procedure
Call this Procedure using the explicit-CallContext-convention. The input arguments are (by default) in stack.args; the result is written to ctx.consumer.

Overrides:
apply in class Procedure
Throws:
java.lang.Throwable