Package gnu.kawa.xml
Class NodeConstructor
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.ProcedureN
gnu.mapping.MethodProc
gnu.kawa.xml.NodeConstructor
- All Implemented Interfaces:
Inlineable,Named
- Direct Known Subclasses:
ApplyTemplates,DocumentConstructor,MakeAttribute,MakeElement,MakeProcInst,MakeText,MakeWithBaseUri
-
Field Summary
FieldsFields inherited from class gnu.mapping.MethodProc
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_EXCEPTIONFields inherited from class gnu.mapping.ProcedureN
applyToObject, noArgsFields inherited from class gnu.mapping.Procedure
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKeyFields inherited from class gnu.mapping.PropertySet
nameKey -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcompile(ApplyExp exp, Compilation comp, Target target) static voidcompileChild(Expression arg, boolean stringIsText, Compilation comp, ConsumerTarget target) abstract voidcompileToNode(ApplyExp exp, Compilation comp, ConsumerTarget target) static voidcompileUsingNodeTree(Expression exp, Compilation comp, Target target) Compile an expression using a fresh NodeTree.static KNodefinishNode(XMLFilter filter) getReturnType(Expression[] args) Semi-deprecated - instead should be set at Inline time.booleanIf true, top-level strings are treated as text nodes.booleanTrue if this Procedure (definitely) has no side-effects.static XMLFiltermakeNode()static voidpopNodeConsumer(Consumer saved, Consumer current) static voidpopNodeContext(Consumer saved, CallContext ctx) static XMLFilterpushNodeConsumer(Consumer out) static XMLFiltervoidsetStringIsText(boolean stringIsText) static voidwriteContent(Object arg, Consumer out) protected static voidwriteContent1(Object arg, Consumer out) static voidwriteContentS(Object arg, Consumer out) Methods inherited from class gnu.mapping.MethodProc
applyToConsumerDefaultMP, getParameterType, isApplicable, matchFailAsException, mostSpecific, numParameters, overrideEquivalent, resolveParameterTypesMethods inherited from class gnu.mapping.ProcedureN
applyToObjectMethods inherited from class gnu.mapping.Procedure
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, toStringMethods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
Field Details
-
options
protected int options
-
-
Constructor Details
-
NodeConstructor
public NodeConstructor()
-
-
Method Details
-
compileToNode
-
getStringIsText
public boolean getStringIsText()If true, top-level strings are treated as text nodes. This means don't separate them with spaces when printing as XML. -
setStringIsText
public void setStringIsText(boolean stringIsText) -
pushNodeConsumer
-
popNodeConsumer
-
pushNodeContext
-
popNodeContext
-
compileChild
public static void compileChild(Expression arg, boolean stringIsText, Compilation comp, ConsumerTarget target) -
compileUsingNodeTree
Compile an expression using a fresh NodeTree. Compare with ConsumerTarget.compileUsingConsumer, but creates a NodeTree. -
makeNode
-
finishNode
-
isSideEffectFree
public boolean isSideEffectFree()Description copied from class:ProcedureTrue if this Procedure (definitely) has no side-effects. Note side-effect-free does not imply idempotent if this allocates an object with "identity".- Overrides:
isSideEffectFreein classProcedure
-
compile
- Specified by:
compilein interfaceInlineable
-
getReturnType
Description copied from class:ProcedureSemi-deprecated - instead should be set at Inline time. FIXME- Overrides:
getReturnTypein classProcedure
-
writeContentS
-
writeContent
-
writeContent1
-