public class ApplyTemplates extends NodeConstructor
Modifier and Type | Field and Description |
---|---|
static ApplyTemplates |
applyTemplatesProc |
options
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 |
---|---|
static void |
applyTemplates$C(java.lang.String select,
Symbol mode,
Consumer out) |
static void |
applyTemplates$X(java.lang.String select,
Symbol mode,
CallContext ctx) |
static java.lang.Object |
applyToConsumer(Procedure proc,
CallContext ctx) |
void |
compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
compile, compileChild, compileUsingNodeTree, finishNode, getReturnType, getStringIsText, isSideEffectFree, makeNode, popNodeConsumer, popNodeContext, pushNodeConsumer, pushNodeContext, setStringIsText, writeContent, writeContent1, writeContentS
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, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final ApplyTemplates applyTemplatesProc
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 static void applyTemplates$C(java.lang.String select, Symbol mode, Consumer out) throws java.lang.Throwable
java.lang.Throwable
public static void applyTemplates$X(java.lang.String select, Symbol mode, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable
public static java.lang.Object applyToConsumer(Procedure proc, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable
public void compileToNode(ApplyExp exp, Compilation comp, ConsumerTarget target)
compileToNode
in class NodeConstructor