public abstract class ElementCreatorCompiler extends ToPushCompiler
Constructor and Description |
---|
ElementCreatorCompiler() |
Modifier and Type | Method and Description |
---|---|
protected static void |
addTypeStripper(CompilerService compiler)
Add a filter to the output pipeline that removes type annotations.
|
void |
compileToPush(CompilerService compiler,
Expression expression)
Generate bytecode to evaluate the expression in push mode
Precondition: none.
|
abstract void |
identifyExpression(CompilerService compiler,
Expression expression,
String evalMode) |
protected void |
outputNamespaceNodes(CompilerService compiler,
Expression expression)
Callback for subclasses to implement: generate code to output namespace nodes
|
protected abstract void |
pushNodeName(CompilerService compiler,
Expression expression)
Callback from the superclass ElementCreatorCompiler to get the name of the element.
|
compileToItem, compileToIterator
compileToBoolean
allocateStatic, compileItemFromInt, compileToLoop, compileToPrimitive, generateMethod, handleEmptyStringResult, printStackTop, unboxItem, verify, visitAnnotation, visitLineNumber
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
ExpressionCompiler
compileToPush
in class ToIteratorCompiler
compiler
- the compiler serviceexpression
- the expression to be compiledCannotCompileException
protected void outputNamespaceNodes(CompilerService compiler, Expression expression)
compiler
- expression
- protected abstract void pushNodeName(CompilerService compiler, Expression expression) throws CannotCompileException
compiler
- expression
- CannotCompileException
protected static void addTypeStripper(CompilerService compiler)
compiler
- the compiler servicepublic abstract void identifyExpression(CompilerService compiler, Expression expression, String evalMode)
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.