com.saxonica.bytecode
Class CastExpressionCompiler
java.lang.Object
com.saxonica.bytecode.ExpressionCompiler
com.saxonica.bytecode.ToItemCompiler
com.saxonica.bytecode.CastExpressionCompiler
public class CastExpressionCompiler
- extends ToItemCompiler
Generate code for a CastExpression
Methods inherited from class com.saxonica.bytecode.ExpressionCompiler |
allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, 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 |
CastExpressionCompiler
public CastExpressionCompiler()
compileToItem
public void compileToItem(CompilerService compiler,
Expression expression)
throws CannotCompileException
- Generate bytecode to evaluate the CastExpression as an Item
Precondition: none.
Postcondition: the stack contains an Item representing the result of the expression
- Specified by:
compileToItem
in class ExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled
- Throws:
CannotCompileException
compileToPrimitive
public void compileToPrimitive(CompilerService compiler,
Expression expression,
Class requiredClass,
OnEmpty onEmpty)
throws CannotCompileException
- Generate bytecode to evaluate the expression leaving a plain Java value on the stack. The static type
of the expression must be such that the value is known to be representable by a value of the specified class;
the cardinality must be either exactly-one or zero-or-one.
- Overrides:
compileToPrimitive
in class ExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiledrequiredClass
- the class of the Java value that is to be left on the stack if the generated code
exits normally. This must be one of Integer.TYPE, Double.TYPE, Float.TYPE, BigDecimal.class, CharSequence.class.onEmpty
- action to be taken if the result of the expression is an empty sequence
- Throws:
CannotCompileException
getConverterCompiler
public static ConverterCompiler getConverterCompiler(AtomicType sourceType,
AtomicType targetType)
throws CannotCompileException
- Throws:
CannotCompileException
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.