Package gnu.mapping
Class Procedure0or1
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.Procedure0or1
- All Implemented Interfaces:
Named
- Direct Known Subclasses:
LocationProc
Abstract class for 0- or 1-argument Scheme procedures.
Extensions must provide apply0 and apply1.
-
Field Summary
FieldsFields inherited from class gnu.mapping.Procedure
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKeyFields inherited from class gnu.mapping.PropertySet
nameKey -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Objectapply0()abstract Objectstatic ObjectapplyToObject(Procedure proc, CallContext ctx) intnumArgs()ReturnminArgs()|(maxArgs<<12).Methods inherited from class gnu.mapping.Procedure
applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toStringMethods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
Field Details
-
applyToObject
-
-
Constructor Details
-
Procedure0or1
public Procedure0or1() -
Procedure0or1
-
-
Method Details
-
numArgs
public int numArgs()Description copied from class:ProcedureReturnminArgs()|(maxArgs<<12). We use a single virtual function to reduce the number of methods in the system, as well as the number of virtual method table entries. We shift by 12 so the number can normally be represented using a sipush instruction, without requiring a constant pool entry. -
apply0
-
apply1
-
apply2
-
apply3
-
apply4
-
applyN
-
applyToObject
- Throws:
Throwable
-