gnu.kawa.xml

Class NodeConstructor

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

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.
Type
getReturnType(Expression[] args)
static void
popNodeConsumer(Consumer saved, Consumer current)
static void
popNodeContext(Consumer saved, CallContext ctx)
static Consumer
pushNodeConsumer(Consumer out)
static XConsumer
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, getName, getProperty, getSetter, getSymbol, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, numArgs, removeProperty, set0, set1, setN, setName, setProperty, setProperty, setSetter, setSymbol, toString

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.

getReturnType

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

popNodeConsumer

public static void popNodeConsumer(Consumer saved,
                                   Consumer current)

popNodeContext

public static void popNodeContext(Consumer saved,
                                  CallContext ctx)

pushNodeConsumer

public static Consumer pushNodeConsumer(Consumer out)

pushNodeContext

public static XConsumer pushNodeContext(CallContext ctx)