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_EXCEPTION
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
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, resolveParameterTypes
applyToObject
apply0, 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, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public 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()
Procedure
isSideEffectFree
in class Procedure
public void compile(ApplyExp exp, Compilation comp, Target target)
compile
in interface Inlineable
public Type getReturnType(Expression[] args)
Procedure
getReturnType
in class Procedure
public 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)