Package com.saxonica.ee.bytecode
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.
User applications will never need to interact with these classes directly.
-
Class Summary Class Description AccessorFnCompiler Generate bytecode for evaluation of accessor functions such as day-from-date, seconds-from-duration, namespace-uri=from-QNameAdjacentTextNodeMergerCompiler Generate byte code for an adjacent text node merger expressionAnalyzeStringCompiler Generate bytecode for a call to the xsl:analyze-string expression.AndExpressionCompiler Generate bytecode for a call to the And expressionApplyImportsCompiler Compiler for the XSLT apply-imports instructionApplyTemplatesCompiler Compiler for the XSLT apply-templates instructionArithmeticCompiler Generate bytecode for a call to the ArithmeticExpressionAtomicSequenceConverterCompiler Generate bytecode for an AtomicSequenceConverter or UntypedSequenceConverter expression, performing run-time type checkingAtomizerCompiler Generate code for AtomizerAttributeGetterCompiler Generate bytecode for evaluation of an AxisExpressionAxisExpressionCompiler Generate bytecode for evaluation of an AxisExpressionBaseURICompiler Generate bytecode for evaluation of a call to the BaseURI functionBlockCompiler Generate bytecode for a call to a Block expression.BooleanFnCompiler Compile the fn:boolean() function to Java bytecodeBreakInstrCompiler Compiler for xsl:break within xsl:iterate (XSLT 3.0)ByteCodeCandidate A ByteCodeCandidate is an expression on the expression tree which, if evaluated, returns the value of its single operand.ByteCodeMonitor Class to accumulate statistics on the effectiveness of byte code generation.CalculatorCompiler This class generates bytecode for arithmetic expressions; it acts as a helper class to the ArithmeticCompiler class.CalculatorCompiler.AnyDivAny Arithmetic: anyAtomicType div AnyAtomicTypeCalculatorCompiler.AnyIdivAny Arithmetic: anyAtomicType idiv AnyAtomicTypeCalculatorCompiler.AnyMinusAny Arithmetic: anyAtomicType - AnyAtomicTypeCalculatorCompiler.AnyModAny CalculatorCompiler.AnyPlusAny Arithmetic: anyAtomicType + AnyAtomicTypeCalculatorCompiler.AnyTimesAny Arithmetic: anyAtomicType * AnyAtomicTypeCalculatorCompiler.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 instructionCardinalityCheckerCompiler CastableExpressionCompiler Generate bytecode for evaluation of a CastableExpressionCastExpressionCompiler Generate code for a CastExpressionChooseCompiler Generate code for a conditional expression (if-then-else, xsl:if, xsl:choose, typeswitch...)CommentCompiler Generate bytecode for the Comment InstructionCompareToIntegerConstantCompiler Generate code for a CompareToIntegerConstantCompareToStringConstantCompiler Generate code for a CompareToStringConstantCompiledExpression An expression that has been compiled to Java bytecode.CompiledExpressionCompiler Compiler for a CompiledExpression.ComputedAttributeCompiler Generate bytecode for a computed attribute constructorComputedElementCompiler Generate bytecode for a computed element constructor (or xsl:element in XSLT)ConcatCompiler Generate bytecode for evaluation of a Concat functionConditionalSorterCompiler Generate bytecode for evaluation of a ConditionalSorterCompilerContainsCompiler Generate bytecode for a call on fn:contains where the collation is known staticallyContextItemCompiler Generate code for a context item expression (that is, "."), and also for an XSLT CurrentItemExpression (current()), which differs only in the error code it returnsCopyCompiler Generate bytecode for an xsl:copy instructionCountCompiler Generate bytecode for a call to the count() functionDateTimeConstructorCompiler Compile the fn:dateTime() function to Java bytecodeDocumentInstrCompiler Generate bytecode for the xsl:document instruction in XSLT or the document-node{} constructor in XQueryDocumentSorterCompiler Generate bytecode for a call to the DocumentSorterElementCreatorCompiler Generate bytecode.EmptyCompiler Generate bytecode for the fn:empty() functionEmptyTextNodeRemoverCompiler Generate code for EmptyTextNodeRemover expressionEquivalenceComparisonCompiler Generate bytecode for an equivalence expression, which is the equality test used in an XQuery 3.0 switch expressionErrorExpressionCompiler Generate bytecode for an error expression (an expression that throws a dynamic error if evaluated)ExistsCompiler Generate bytecode for a call to the exists() functionExpressionCompiler 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 expressionFirstItemExpressionCompiler Generate code for the FirstItemExpressionFixedAttributeCompiler Generate bytecode for a fixed attribute constructorFixedElementCompiler Generate bytecode for a fixed element constructor (or XSLT literal result element)FLWORExpressionCompiler Generate bytecode for a call to the FLWORExpressionForceCaseCompiler Generate bytecode for evaluation of a call to the upper-case() and lower-case functionsForEachGroupCompiler Bytecode generator for the xsl:for-each-group classForExpressionCompiler Generate bytecode for a call to the ForExpression()FunctionLiteralCompiler Generate bytecode for a call to a FunctionLiteralFunctionSequenceCoercerCompiler Generate bytecode to evaluate a FunctionSequenceCoercer functionGeneralComparisonCompiler Generate code for a GeneralComparisonGeneratedCode This abstract class is extended by the compiled code representing an Expression.GenerateIdCompiler Generate bytecode for evaluation of a generate-id() functionHomogeneityCheckerCompiler IdentityComparisonCompiler Generate bytecode for IdentityComparison expressionIndexedFilterExpressionCompiler InstanceOfCompiler Generate bytecode for a call to the "instance of" expressionIntegerRangeTestCompiler 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()ItemCheckerCompiler Generate bytecode for an ItemChecker expression, performing run-time type checkingIterateInstrCompiler Bytecode generator for the xsl:iterate instructionJavaExtensionFunctionCallCompiler Compiles a call to an old-style "reflexive" Java extension function.LastCompiler Generate code for a call to last()LastItemExpressionCompiler Generate bytecode for a call to the LastItemExpression()LetExpressionCompiler Generate bytecode for evaluation of an LetExpressionLiteralCompiler Generate byte code for a literal expression in the expression treeLocalNameCompiler Generate bytecode for evaluation of functions such as name() and local-name() which return a string property of a nodeLocalParamBlockCompiler 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 LocalVariableReferenceMatchesCompiler Generate code for the fn:matches functionNameCompiler Generate bytecode for evaluation of functions such as name() and local-name() which return a string property of a nodeNamespaceConstructorCompiler Generate bytecode for the xsl:namespace InstructionNamespaceUriFnCompiler Generate bytecode for evaluation of a namespace-uri() functionNegateExpressionCompiler Generate bytecode for evaluation of a call to the substring() functionNextIterationCompiler Compiler for xsl:next-iteration within xsl:iterate (XSLT 3.0)NextMatchCompiler Compiler for the XSLT next-match instructionNodeNameFnCompiler Generate bytecode for evaluation of the node-name() functionNodePropertyCompiler Generate bytecode for evaluation of functions such as name() and local-name() which return a string property of a nodeNormalizeSpaceCompiler Generate bytecode for evaluation of a call to the normalize-space() functionNotFnCompiler Generate bytecode for the fn:not() functionNumberFnCompiler Compile the fn:number() function to Java bytecodeOrExpressionCompiler Generate bytecode for an Or expressionOuterForExpressionCompiler Generate bytecode for a call to the OuterForExpression()PartialApplyCompiler Generate bytecode for a call to a PartialApply expressionPositionCompiler Generate code for a call to position()ProcessingInstructionCompiler QNameFnCompiler Generate bytecode for a call to fn:QNameQuantifiedExpressionCompiler Compile the QuantifiedExpression to Java bytecodeRangeExpressionCompiler Generate bytecode for an integer range expression (X to Y)ResultDocumentCompiler Generate bytecode for the xsl:result-document instructionRootExpressionCompiler Generate bytecode for a call to the RootExpression()RootFunctionCompiler RoundingCompiler Compiler for the functions floor(), ceiling(), round(), round-half-to-even(), and abs()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 AxisExpressionSingletonAtomizerCompiler Generate code for a SingletonAtomizer.SingletonIntersectExpressionCompiler Bytecode generation for an expression of the form (A intersect B) where A is a singletonSlashExpressionCompiler Generate bytecode for a call to a SlashExpression or an xsl:for-each instruction (These have the same run-time semantics)SortExpressionCompiler SquareArrayConstructorCompiler Generate bytecode for an SquareArrayConstructor expression.StartsWithCompiler Generate bytecode for a call on fn:starts-with or fn:ends-with, with a statically known collationStaticFunctionCallCompiler Compiler for a static function call.StringFnCompiler Generate bytecode for evaluation of a call to the string() functionStringJoinCompiler StringLengthCompiler Generate bytecode for a call to the StringLength FunctionSubscriptExpressionCompiler Bytecode generator for the saxon:item-at() functionSubstringAfterCompiler Generate bytecode for evaluation of a call to the substring-after() functionSubstringBeforeCompiler Generate bytecode for evaluation of a call to the substring-before() functionSubstringCompiler Generate bytecode for evaluation of a call to the substring() functionSumCompiler Generate bytecode for the sum functionSuppliedParameterReferenceCompiler 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 expressionsTailCallLoopCompiler TailExpressionCompiler Generate bytecode for evaluation of a TailExpressionToBooleanCompiler 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() functionUseAttributeSetCompiler Generate bytecode for the XSLT use-attribute-sets pseudo-instruction.UserFunctionCallCompiler Generate bytecode for evaluation of an UserFunctionCallValueComparisonCompiler Generate code for a ValueComparisonValueOfCompiler Generate code for a ValueOf instructionVariableReferenceCompiler Generate bytecode for evaluation of a VariableReferenceVennExpressionCompiler