gnu.kawa.xml

Class NodeConstructor

Implemented Interfaces:
Inlineable, Named
Known Direct Subclasses:
DocumentConstructor, MakeAttribute, MakeElement, MakeProcInst, MakeText, MakeWithBaseUri

public abstract class NodeConstructor
extends MethodProc
implements Inlineable

Field Summary

Fields inherited from class gnu.mapping.MethodProc

NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS, argTypes

Fields inherited from class gnu.mapping.ProcedureN

noArgs

Method Summary

void
compile(ApplyExp exp, Compilation comp, Target target)
static void
compileChild(Expression arg, 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)
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)

Methods inherited from class gnu.mapping.MethodProc

applyN, getParameterType, isApplicable, matchFailAsException, mostSpecific, mostSpecific, numParameters, resolveParameterTypes

Methods inherited from class gnu.mapping.ProcedureN

apply0, apply1, apply2, apply3, apply4, applyN

Methods inherited from class gnu.mapping.Procedure

apply, apply, apply0, apply1, apply2, apply3, apply4, applyN, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, numArgs, set0, set1, setN, setSetter, setSourceLocation, toString

Methods inherited from class gnu.mapping.PropertySet

getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol

Method Details

compile

public void compile(ApplyExp exp,
                    Compilation comp,
                    Target target)
Specified by:
compile in interface Inlineable

compileChild

public static void compileChild(Expression arg,
                                Compilation comp,
                                ConsumerTarget target)

compileToNode

public abstract void compileToNode(ApplyExp exp,
                                   Compilation comp,
                                   ConsumerTarget target)

compileUsingNodeTree

public static void compileUsingNodeTree(Expression exp,
                                        Compilation comp,
                                        Target target)
Compile an expression using a fresh NodeTree. Compare with ConsumerTarget.compileUsingConsumer, but creates a NodeTree.

finishNode

public static KNode finishNode(XMLFilter filter)

getReturnType

public Type getReturnType(Expression[] args)
Specified by:
getReturnType in interface Inlineable

makeNode

public static XMLFilter makeNode()

popNodeConsumer

public static void popNodeConsumer(Consumer saved,
                                   Consumer current)

popNodeContext

public static void popNodeContext(Consumer saved,
                                  CallContext ctx)

pushNodeConsumer

public static XMLFilter pushNodeConsumer(Consumer out)

pushNodeContext

public static XMLFilter pushNodeContext(CallContext ctx)