com.saxonica.bytecode
Class FixedAttributeCompiler
java.lang.Object
com.saxonica.bytecode.ExpressionCompiler
com.saxonica.bytecode.ToIteratorCompiler
com.saxonica.bytecode.ToPushCompiler
com.saxonica.bytecode.FixedAttributeCompiler
public class FixedAttributeCompiler
- extends ToPushCompiler
Generate bytecode for a fixed attribute constructor
Methods inherited from class com.saxonica.bytecode.ExpressionCompiler |
allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, compileToPrimitive, generateMethod, getConfiguration, handleEmptyStringResult, setConfiguration, throwXPathException, throwXPathException, unboxItem, verify, visitAnnotation, visitLineNumber |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FixedAttributeCompiler
public FixedAttributeCompiler()
compileToPush
public void compileToPush(CompilerService compiler,
Expression expression)
throws CannotCompileException
- Description copied from class:
ExpressionCompiler
- Generate bytecode to evaluate the expression in push mode
Precondition: none.
Postcondition: at execution time, the stack is unchanged, and the value of the expression has been
written to the current receiver
- Overrides:
compileToPush
in class ToIteratorCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled
- Throws:
CannotCompileException
generateAttributeValidationPushCode
protected static void generateAttributeValidationPushCode(CompilerService compiler,
ValidatingInstruction instr,
int nameCode,
int nameCodeVar)
- Generate code to validate the contents of the attribute against schema definitions.
Both on entry and exit, the bytecode stack holds: SequenceReceiver(out), NodeName(nodeName) int(annotation) CharSequence(value)
As well as validating the value, the method may modify the type annotation that is held on the stack.
- Parameters:
compiler
- the compiler serviceinstr
- the instruction (fixed or computed attribute)nameCode
- the (fixed) namecode of the attribute, or -1 if the name is computednameCodeVar
- the slot number of the variable holding the computed namecode, or -1 if the name is fixed
compileToItem
public void compileToItem(CompilerService compiler,
Expression expression)
throws CannotCompileException
- Description copied from class:
ExpressionCompiler
- Generate bytecode to evaluate the expression as an Item
Precondition: none.
Postcondition: at execution time, the stack contains either an item (the result of the expression), or null
(representing an empty sequence).
- Overrides:
compileToItem
in class ToPushCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled
- Throws:
CannotCompileException
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.