Package com.saxonica.bytecode.util

This package contains utility classes supporting the generation of bytecode and the interface with the ASM library.

See:
          Description

Interface Summary
MessageBuilder Helper interface MeassageBuilder.
 

Class Summary
AnnotatedTraceClassVisitor Subclass of TraceClassVisitor to enable the bytecode listings to be customized
AnnotatedTraceMethodVisitor Subclass of the TraceMethodVisitor to customize the bytecode listings
Audit Development aid to check that all Expression classes are compilable
ByteCodeTrace Calls to this class are inserted into the bytecode for debugging purposes
Callback A convenient place to put static methods that will be called from generated byte code
CompilerClassMapper For each class of expression found on the expression tree, deliver a corresponding instance of the helper class used to generate Java code for the expression
CompilerService Controlling/service class for compilation of expressions to Java bytecode
CompilerService.GeneratedClassInfo  
CompilerService.StaticSubClasses  
CompilerService.StaticVariableInfo  
GeneratedMethodInfo Information about the current method whose bytecode is being generated
GeneratedMethodInfo.LocalSlotInfo  
Generator This class is an extension of the ASM-supplied GeneratorAdapter library, containing additional utility and shortcut methods for bytecode generation
LabelInfo An ASM label object with some control information to enable better diagnostics
LoopBodyGenerator LoopBodyGenerator is code to generate the body of a loop, for example of a ForExpression.
MessageFromStack Helper class to generate a run-time exception using a message that is present at the top of the bytecode stack
MessageTemplate Helper class to build messages with a predefined prefix string, then runtime text, followed by predefined suffix string
NamedLabel Subclass of the ASM Label class that adds a diagnostic name to the label; this enables more intelligible bytecode to be output for diagnostics
OnEmpty The OnEmpty class represents an action to be taken by the bytecode generator when compiling an expression to return a "primitive" (unboxed) value such as a double float int long or String (treated as primitive for this purpose).
OnEmpty.ReturnEmptyString The ReturnNull subclass indicates that when an expression evaluates to the empty sequence, the value should be returned as a zero-length string.
OnEmpty.ReturnNull The ReturnNull subclass indicates that when an expression evaluates to the empty sequence, the value should be returned as a Java null.
OnEmpty.UnwindAndJump The UnwindAndJump subclass causes the code generator, when an expression evaluates to the empty sequence, to generate a "goto" instruction to a defined label; but before executing the jump, the stack will be unwound to a known position.
 

Exception Summary
CannotCompileException Exception indicating that constructs were encountered in the expression tree that cannot be compiled to bytecode
 

Package com.saxonica.bytecode.util Description

This package contains utility classes supporting the generation of bytecode and the interface with the ASM library.

Michael H. Kay
Saxonica Limited
28 November 2011



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