public abstract class NodeConstructor extends MethodProc implements Inlineable
| Modifier and Type | Field and Description |
|---|---|
protected int |
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_EXCEPTIONapplyToObject, noArgsapplyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKeynameKey| Constructor and Description |
|---|
NodeConstructor() |
| Modifier and Type | Method and Description |
|---|---|
void |
compile(ApplyExp exp,
Compilation comp,
Target target) |
static void |
compileChild(Expression arg,
boolean stringIsText,
Compilation comp,
ConsumerTarget target) |
abstract void |
compileToNode(ApplyExp exp,
Compilation comp,
ConsumerTarget target) |
static void |
compileUsingNodeTree(Expression exp,
Compilation comp,
Target target)
Compile an expression using a fresh NodeTree.
|
static KNode |
finishNode(XMLFilter filter) |
Type |
getReturnType(Expression[] args)
Semi-deprecated - instead should be set at Inline time.
|
boolean |
getStringIsText()
If true, top-level strings are treated as text nodes.
|
boolean |
isSideEffectFree()
True if this Procedure (definitely) has no side-effects.
|
static XMLFilter |
makeNode() |
static void |
popNodeConsumer(Consumer saved,
Consumer current) |
static void |
popNodeContext(Consumer saved,
CallContext ctx) |
static XMLFilter |
pushNodeConsumer(Consumer out) |
static XMLFilter |
pushNodeContext(CallContext ctx) |
void |
setStringIsText(boolean stringIsText) |
static void |
writeContent(java.lang.Object arg,
Consumer out) |
protected static void |
writeContent1(java.lang.Object arg,
Consumer out) |
static void |
writeContentS(java.lang.Object arg,
Consumer out) |
applyToConsumerDefaultMP, 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, numArgs, set0, set1, setN, setSetter, setSourceLocation, toStringgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic abstract void compileToNode(ApplyExp exp, Compilation comp, ConsumerTarget target)
public boolean getStringIsText()
public void setStringIsText(boolean stringIsText)
public static XMLFilter pushNodeContext(CallContext ctx)
public static void popNodeContext(Consumer saved, CallContext ctx)
public static void compileChild(Expression arg, boolean stringIsText, Compilation comp, ConsumerTarget target)
public static void compileUsingNodeTree(Expression exp, Compilation comp, Target target)
public static XMLFilter makeNode()
public boolean isSideEffectFree()
ProcedureisSideEffectFree in class Procedurepublic void compile(ApplyExp exp, Compilation comp, Target target)
compile in interface Inlineablepublic Type getReturnType(Expression[] args)
ProceduregetReturnType in class Procedurepublic static void writeContentS(java.lang.Object arg,
Consumer out)
public static void writeContent(java.lang.Object arg,
Consumer out)
protected static void writeContent1(java.lang.Object arg,
Consumer out)