public class MakeProcInst extends NodeConstructor
| Modifier and Type | Field and Description |
|---|---|
static MakeProcInst |
makeProcInst |
optionsapplyToConsumerDefaultMP, 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| Modifier and Type | Method and Description |
|---|---|
static java.lang.Object |
applyToConsumer(Procedure proc,
CallContext ctx) |
void |
compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12). |
static void |
procInst$C(java.lang.Object target,
java.lang.Object content,
Consumer out) |
static void |
procInst$X(java.lang.Object target,
java.lang.Object content,
CallContext ctx) |
compile, compileChild, compileUsingNodeTree, finishNode, getReturnType, getStringIsText, isSideEffectFree, makeNode, popNodeConsumer, popNodeContext, pushNodeConsumer, pushNodeContext, setStringIsText, writeContent, writeContent1, writeContentSapplyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypesapplyToObjectapply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getSetter, getSourceLocation, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toStringgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic static final MakeProcInst makeProcInst
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 void procInst$C(java.lang.Object target,
java.lang.Object content,
Consumer out)
public static void procInst$X(java.lang.Object target,
java.lang.Object content,
CallContext ctx)
public static java.lang.Object applyToConsumer(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwablepublic void compileToNode(ApplyExp exp, Compilation comp, ConsumerTarget target)
compileToNode in class NodeConstructor