gnu.mapping
Class Procedure0or1
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.Procedure0or1
- All Implemented Interfaces:
- Named
- Direct Known Subclasses:
- LocationProc, readchar, repl, SelfInsertCommand
public abstract class Procedure0or1
- extends Procedure
Abstract class for 0- or 1-argument Scheme procedures.
Extensions must provide apply0 and apply1.
Method Summary |
abstract java.lang.Object |
apply0()
|
abstract java.lang.Object |
apply1(java.lang.Object arg1)
|
java.lang.Object |
apply2(java.lang.Object arg1,
java.lang.Object arg2)
|
java.lang.Object |
apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
java.lang.Object |
apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
|
java.lang.Object |
applyN(java.lang.Object[] args)
|
int |
numArgs()
Return minArgs()|(maxArgs<<12) . |
Methods inherited from class gnu.mapping.Procedure |
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Procedure0or1
public Procedure0or1()
Procedure0or1
public Procedure0or1(java.lang.String n)
numArgs
public int numArgs()
- Description copied from class:
Procedure
- Return
minArgs()|(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.
- Overrides:
numArgs
in class Procedure
apply0
public abstract java.lang.Object apply0()
throws java.lang.Throwable
- Specified by:
apply0
in class Procedure
- Throws:
java.lang.Throwable
apply1
public abstract java.lang.Object apply1(java.lang.Object arg1)
throws java.lang.Throwable
- Specified by:
apply1
in class Procedure
- Throws:
java.lang.Throwable
apply2
public java.lang.Object apply2(java.lang.Object arg1,
java.lang.Object arg2)
- Specified by:
apply2
in class Procedure
apply3
public java.lang.Object apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
- Specified by:
apply3
in class Procedure
apply4
public java.lang.Object apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
- Specified by:
apply4
in class Procedure
applyN
public java.lang.Object applyN(java.lang.Object[] args)
throws java.lang.Throwable
- Specified by:
applyN
in class Procedure
- Throws:
java.lang.Throwable