public class ValuesMap extends MethodProc implements Inlineable
Modifier and Type | Field and Description |
---|---|
static ValuesMap |
valuesMap |
static ValuesMap |
valuesMapWithPos |
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_EXCEPTION
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Modifier and Type | Method and Description |
---|---|
void |
compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
compileInlined(LambdaExp lambda,
Expression vals,
int startCounter,
Method matchesMethod,
Compilation comp,
Target target) |
Type |
getReturnType(Expression[] args)
Semi-deprecated - instead should be set at Inline time.
|
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypes
applyToObject
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final ValuesMap valuesMap
public static final ValuesMap valuesMapWithPos
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 void compile(ApplyExp exp, Compilation comp, Target target)
compile
in interface Inlineable
public static void compileInlined(LambdaExp lambda, Expression vals, int startCounter, Method matchesMethod, Compilation comp, Target target)
public Type getReturnType(Expression[] args)
Procedure
getReturnType
in class Procedure