Package com.saxonica.bytecode

This package and its subpackages contain code responsible for bytecode generation under Saxon-EE.

See:
          Description

Class Summary
AdjacentTextNodeMergerCompiler Generate byte code for an adjacent text node merger expression
AnalyzeStringCompiler Generate bytecode for a call to the xsl:analyze-string expression.
AndExpressionCompiler Generate bytecode for a call to the And expression
ApplyImportsCompiler Compiler for the XSLT apply-imports instruction
ApplyTemplatesCompiler Compiler for the XSLT apply-templates instruction
ArithmeticCompiler Generate bytecode for a call to the ArithmeticExpression
AtomicSequenceConverterCompiler Generate bytecode for an AtomicSequenceConverter expression, performing run-time type checking
AtomizerCompiler Generate code for Atomizer
AxisExpressionCompiler Generate bytecode for evaluation of an AxisExpression
BaseURICompiler Generate bytecode for evaluation of a call to the BaseURI function
BlockCompiler Generate bytecode for a call to a Block expression.
BooleanFnCompiler Compile the fn:boolean() function to Java bytecode
BreakInstrCompiler Compiler for xsl:break within xsl:iterate (XSLT 3.0)
CalculatorCompiler This class generates bytecode for arithmetic expressions; it acts as a helper class to the ArithmeticCompiler class.
CalculatorCompiler.AnyDivAny Arithmetic: anyAtomicType div AnyAtomicType
CalculatorCompiler.AnyIdivAny Arithmetic: anyAtomicType idiv AnyAtomicType
CalculatorCompiler.AnyMinusAny Arithmetic: anyAtomicType - AnyAtomicType
CalculatorCompiler.AnyModAny  
CalculatorCompiler.AnyPlusAny Arithmetic: anyAtomicType + AnyAtomicType
CalculatorCompiler.AnyTimesAny Arithmetic: anyAtomicType * AnyAtomicType
CalculatorCompiler.DecimalDivDecimal Arithmetic: decimal / decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DecimalIdivDecimal Arithmetic: decimal % decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DecimalMinusDecimal Arithmetic: decimal - decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DecimalModDecimal Arithmetic: decimal % decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DecimalPlusDecimal Arithmetic: decimal + decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DecimalTimesDecimal Arithmetic: decimal * decimal (including types that promote to decimal, that is, integer)
CalculatorCompiler.DoubleDivDouble Arithmetic: double / double (including types that promote to double)
CalculatorCompiler.DoubleMinusDouble Arithmetic: double - double (including types that promote to double)
CalculatorCompiler.DoubleModDouble Arithmetic: double % double (including types that promote to double)
CalculatorCompiler.DoublePlusDouble Arithmetic: double + double (including types that promote to double)
CalculatorCompiler.DoubleTimesDouble Arithmetic: double * double (including types that promote to double)
CalculatorCompiler.FloatDivFloat Arithmetic: float div float (including types that promote to float)
CalculatorCompiler.FloatIdivFloat Arithmetic: float idiv float (including types that promote to float)
CalculatorCompiler.FloatMinusFloat Arithmetic: float - float (including types that promote to float)
CalculatorCompiler.FloatModFloat Arithmetic: float mod float (including types that promote to float)
CalculatorCompiler.FloatPlusFloat Arithmetic: float + float (including types that promote to float))
CalculatorCompiler.FloatTimesFloat Arithmetic: float * float (including types that promote to float)
CalculatorCompiler.IntegerDivInteger  
CalculatorCompiler.IntegerIdivInteger  
CalculatorCompiler.IntegerMinusInteger  
CalculatorCompiler.IntegerModInteger  
CalculatorCompiler.IntegerPlusInteger  
CalculatorCompiler.IntegerTimesInteger  
CallableExpressionCompiler Compiler for a CallableExpression.
CallTemplateCompiler Compiler for the XSLT apply-templates instruction
CardinalityCheckerCompiler  
CastableExpressionCompiler Generate bytecode for evaluation of a CastableExpression
CastableToListCompiler Generate bytecode for evaluation of a CastableToList
CastableToUnionCompiler Generate bytecode for evaluation of a CastableToUnion
CastExpressionCompiler Generate code for a CastExpression
CastToListCompiler Generate code for a CastToList
CastToUnionCompiler Generate code for a CastToUnion
ChooseCompiler Generate code for a conditional expression (if-then-else, xsl:if, xsl:choose, typeswitch...)
CodepointsToStringCompiler Generate bytecode for evaluation of a CodepointstoString function
CommentCompiler Generate bytecode for the Comment Instruction
CompareToIntegerConstantCompiler Generate code for a CompareToIntegerConstant
CompiledExpression An expression that has been compiled to Java bytecode.
ComponentCompiler Generate bytecode for evaluation of functions such as day-from-date, seconds-from-duration, namespace-uri=from-QName
ComputedAttributeCompiler Generate bytecode for a computed attribute constructor
ComputedElementCompiler Generate bytecode for a computed element constructor (or xsl:element in XSLT)
ConcatCompiler Generate bytecode for evaluation of a Concat function
ConditionalSorterCompiler Generate bytecode for evaluation of a ConditionalSorterCompiler
ContainsCompiler Generate bytecode for a call on fn:contains
ContextItemCompiler Generate code for a context item expression (that is, "."), and also for an XSLT CurrentItemExpression (current()), which differs only in the error code it returns
CopyCompiler Generate bytecode for an xsl:copy instruction
CopyOfCompiler Generate bytecode for an xsl:copy-of instruction
CountCompiler Generate bytecode for a call to the count() function
DateTimeConstructorCompiler Compile the fn:dateTime() function to Java bytecode
DocAvailableCompiler Generate bytecode for a call to a DocAvailable Function
DocCompiler Generate bytecode to evaluate a Doc function
DocumentInstrCompiler Generate bytecode for the xsl:document instruction in XSLT or the document-node{} constructor in XQuery
DocumentSorterCompiler Generate bytecode for a call to the DocumentSorter
ElementCreatorCompiler Generate bytecode.
EmptyCompiler Generate bytecode for the fn:empty() function
EmptyTextNodeRemoverCompiler Generate code for EmptyTextNodeRemover expression
EquivalenceComparisonCompiler Generate bytecode for an equivalence expression, which is the equality test used in an XQuery 3.0 switch expression
ErrorExpressionCompiler Generate bytecode for an error expression (an expression that throws a dynamic error if evaluated)
ExistsCompiler Generate bytecode for a call to the exists() function
ExpressionCompiler This abstract class represents the compiler (that is, Java bytecode generator) for a particular kind of expression on the expression tree.
FilterExpressionCompiler Generate bytecode to evaluate a filter expression
FirstItemExpressionCompiler Generate code for the FirstItemExpression
FixedAttributeCompiler Generate bytecode for a fixed attribute constructor
FixedElementCompiler Generate bytecode for a fixed element constructor (or XSLT literal result element)
FLWORExpressionCompiler Generate bytecode for a call to the FLWORExpression
ForceCaseCompiler Generate bytecode for evaluation of a call to the upper-case() and lower-case functions
ForEachGroupCompiler Bytecode generator for the xsl:for-each-group class
ForExpressionCompiler Generate bytecode for a call to the ForExpression()
FunctionItemExpressionCompiler Generate bytecode for a call to the FunctionItemExpression
FunctionSequenceCoercerCompiler Generate bytecode to evaluate a FunctionSequenceCoercer function
GeneralComparisonCompiler Generate code for a GeneralComparison
GeneratedCode This abstract class is extended by the compiled code representing an Expression.
GenerateIdCompiler Generate bytecode for evaluation of a generate-id() function
HomogeneityCheckerCompiler  
IdentityComparisonCompiler Generate bytecode for IdentityComparison expression
IndexedFilterExpressionCompiler  
IndexedLookupExpressionCompiler Compiler for an index lookup expression, which is generated by the optimizer for certain kinds of filter expression
InstanceOfCompiler Generate bytecode for a call to the "instance of" expression
IntegerRangeTestCompiler Generate bytecode for an expression of the form ($I = $J to $K)
InterpretedExpressionCompiler Bytecode generator for instructions that calls back to the interpreter.
IsLastExpressionCompiler Generate bytecode for the IsLastExpression, which tests whether position() is equal to last()
IsWholeNumberCompiler Bytecode generator for the saxon:item-at() function
ItemAtCompiler Bytecode generator for the saxon:item-at() function
ItemCheckerCompiler Generate bytecode for an ItemChecker expression, performing run-time type checking
IterateInstrCompiler Bytecode generator for the xsl:iterate instruction
JavaExtensionFunctionCallCompiler Compiles a call to an old-style "reflexive" Java extension function.
KeyFnCompiler Generate bytecode for a call to the KeyFnExpression()
LastCompiler Generate code for a call to last()
LastItemExpressionCompiler Generate bytecode for a call to the LastItemExpression()
LetExpressionCompiler Generate bytecode for evaluation of an LetExpression
LiteralCompiler Generate byte code for a literal expression in the expression tree
LocalNameFnCompiler Generate bytecode for evaluation of the local-name() function
LocalParamBlockCompiler Compiler for LocalParam instructions in XSLT (representing an xsl:param in a template)
LocalParamCompiler Compiler for LocalParam instructions in XSLT (representing an xsl:param in a template)
LocalVariableReferenceCompiler Generate code for a LocalVariableReference
MatchesCompiler Generate code for the fn:matches function
MinimaxCompiler Generate code for a Minimax
NameFnCompiler Generate bytecode for evaluation of the name() function
NamespaceConstructorCompiler Generate bytecode for the xsl:namespace Instruction
NamespaceUriFnCompiler Generate bytecode for evaluation of a namespace-uri() function
NegateExpressionCompiler Generate bytecode for evaluation of a call to the substring() function
NextIterationCompiler Compiler for xsl:next-iteration within xsl:iterate (XSLT 3.0)
NextMatchCompiler Compiler for the XSLT next-match instruction
NodeNameFnCompiler Generate bytecode for evaluation of the node-name() function
NormalizeSpaceCompiler Generate bytecode for evaluation of a call to the normalize-space() function
NotFnCompiler Generate bytecode for the fn:not() function
NumberFnCompiler Compile the fn:number() function to Java bytecode
OrExpressionCompiler Generate bytecode for an Or expression
OuterForExpressionCompiler Generate bytecode for a call to the OuterForExpression()
ParentNodeExpressionCompiler  
PartialApplyCompiler Generate bytecode for a call to a PartialApply expression
PositionCompiler Generate code for a call to position()
ProcessingInstructionCompiler  
ProcessRegexMatchInstructionCompiler  
QNameFnCompiler Generate bytecode for a call to fn:QName
QuantifiedExpressionCompiler Compile the QuantifiedExpression to Java bytecode
RangeExpressionCompiler Generate bytecode for an integer range expression (X to Y)
RegexGroupCompiler Generate bytecode for the XSLT regex-group() function
ResultDocumentCompiler Generate bytecode for the xsl:result-document instruction
RootExpressionCompiler Generate bytecode for a call to the RootExpression()
RootFunctionCompiler  
RoundingCompiler  
SimpleNodeConstructorCompiler  
SimpleStepExpressionCompiler Generate bytecode for a call to the SimpleStepExpression, which is a SlashExpression in which the lhs operand is known to return a singleton and the rhs operand is known to be an AxisExpression
SingletonAtomizerCompiler Generate code for a SingletonAtomizer.
SingletonIntersectExpressionCompiler Bytecode generation for an expression of the form (A intersect B) where A is a singleton
SlashExpressionCompiler Generate bytecode for a call to a SlashExpression or an xsl:for-each instruction (These have the same run-time semantics)
SortExpressionCompiler  
StartsWithCompiler Generate bytecode for a call on fn:starts-with or fn:ends-with
StringFnCompiler Generate bytecode for evaluation of a call to the string() function
StringJoinCompiler  
StringLengthCompiler Generate bytecode for a call to the StringLength Function
SubstringAfterCompiler Generate bytecode for evaluation of a call to the substring-after() function
SubstringBeforeCompiler Generate bytecode for evaluation of a call to the substring-before() function
SubstringCompiler Generate bytecode for evaluation of a call to the substring() function
SumCompiler Generate bytecode for the sum function
SuppliedParameterReferenceCompiler Compiler for LocalParam instructions in XSLT (representing an xsl:param in a template)
SwitchExpressionCompiler compiler for switch expression in XQuery 3.0, whether explicitly written as such, or the result of optimizing an xsl:choose or a sequence of if/then/elseif/then expressions
TailCallLoopCompiler  
TailExpressionCompiler Generate bytecode for evaluation of a TailExpression
ToBooleanCompiler Abstract superclass for expression compilers that handle boolean expressions, that is, expressions that return a boolean result.
ToItemCompiler Abstract superclass for expression compilers that handle expressions returning a single item (or nothing).
ToIteratorCompiler Abstract superclass for expression compilers of expressions that return a general sequence.
ToPushCompiler  
ToStringCompiler Generate bytecode for evaluation of expressions that return a single string (or an empty sequence)
TraceExpressionCompiler  
TranslateCompiler Generate bytecode for evaluation of a call to the translate() function
TryCatchExpressionCompiler Generate bytecode for a call to a TryCatch Expression
TupleExpressionCompiler  
UseAttributeSetsCompiler Generate bytecode for the XSLT use-attribute-sets pseudo-instruction.
UserFunctionCallCompiler Generate bytecode for evaluation of an UserFunctionCall
ValueComparisonCompiler Generate code for a ValueComparison
ValueOfCompiler Generate code for a ValueOf instruction
VariableReferenceCompiler Generate bytecode for evaluation of a VariableReference
VennExpressionCompiler  
 

Package com.saxonica.bytecode Description

This package and its subpackages contain code responsible for bytecode generation under Saxon-EE.

The parent package contains one "Compiler" class for each expression class needing to be compiled. The association between the expression class (representing the node on the expression tree) and the associated compiler class is established by the class CompilerClassMapper.

Michael H. Kay
Saxonica Limited
28 November 2011



Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.