public static class LambdaExp.Closure extends MethodProc
applyToConsumerDefaultMP, argTypes, NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_GUARD_FALSE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS, NO_MATCH_UNUSED_KEYWORD, THROW_ON_EXCEPTIONapplyToObject, noArgsapplyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKeynameKey| Constructor and Description |
|---|
Closure(LambdaExp lexp,
CallContext ctx) |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.Object |
applyToConsumer(Procedure proc,
CallContext ctx) |
java.lang.Object |
getProperty(java.lang.Object key,
java.lang.Object defaultValue) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12). |
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypesapplyToObjectapply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toStringgetName, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic Closure(LambdaExp lexp, CallContext ctx)
public int numArgs()
ProcedureminArgs()|(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 static java.lang.Object applyToConsumer(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object getProperty(java.lang.Object key,
java.lang.Object defaultValue)
getProperty in class PropertySet