public abstract class Procedure0or1 extends Procedure
Modifier and Type | Field and Description |
---|---|
static java.lang.invoke.MethodHandle |
applyToObject |
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
Procedure0or1() |
Procedure0or1(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
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) |
static java.lang.Object |
applyToObject(Procedure proc,
CallContext ctx) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public Procedure0or1()
public Procedure0or1(java.lang.String name)
public int numArgs()
Procedure
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.public abstract java.lang.Object apply0() throws java.lang.Throwable
public abstract java.lang.Object apply1(java.lang.Object arg1) throws java.lang.Throwable
public java.lang.Object apply2(java.lang.Object arg1, java.lang.Object arg2)
public java.lang.Object apply3(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
public java.lang.Object apply4(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
public java.lang.Object applyN(java.lang.Object[] args) throws java.lang.Throwable
public static java.lang.Object applyToObject(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable