org.apache.derby.impl.services.bytecode |
|
Java Source File Name | Type | Comment |
BCClass.java | Class | ClassBuilder is used to construct a java class's byte array
representation.
Limitations:
No checking for language use violations such as invalid modifiers
or duplicate field names.
All classes must have a superclass; java.lang.Object must be
supplied if there is no superclass.
When a class is first created, it has:
- a superclass
- modifiers
- a name
- a package
- no superinterfaces, methods, fields, or constructors
- an empty static initializer
- an empty initializer
MethodBuilder implementations are required to supply a way for
Generators to give them code. |
BCExpr.java | Interface | To be able to identify the expressions as belonging to this
implementation, and to be able to generate code off of
it if so. |
BCJava.java | Class |
Debugging problems with generated classes
When the code has been generated incorrectly, all sorts of
odd things can go wrong. |
BCLocalField.java | Class | |
BCMethod.java | Class | MethodBuilder is used to piece together a method when
building a java class definition.
When a method is first created, it has:
- a return type
- modifiers
- a name
- an empty parameter list
- an empty throws list
- an empty statement block
MethodBuilder implementations are required to supply a way for
Statements and Expressions to give them code. |
BCMethodCaller.java | Class | |
BCMethodDescriptor.java | Class | A method descriptor. |
CodeChunk.java | Class | This class represents a chunk of code in a CodeAttribute.
Typically, a CodeAttribute represents the code in a method.
If there is a try/catch block, each catch block will get its
own code chunk. |
Conditional.java | Class | A Conditional represents an if/then/else block.
When this is created the code will already have
the conditional check code. |
d_BCValidate.java | Class | Validate BC calls. |
GClass.java | Class | This is a common superclass for the various impls. |
OpcodeDebug.java | Class | This contains mnemonics for all of the opcodes of the JVM.
It is a separate class so that it will not get loaded
if the system does not need it (i.e. |
Type.java | Class | |
VMTypeIdCacheable.java | Class | This class implements a Cacheable for a Byte code generator cache of
VMTypeIds. |