| Package | Description |
|---|---|
| gnu.bytecode |
Contains classes to generate, read,
write, and print Java bytecode in the form of
.class files. |
| gnu.expr |
Supports
Expression,
and various related classes need to compile programming languages. |
| gnu.kawa.lispexpr |
Support classes for compiling and running Lisp languages.
|
| gnu.kawa.reflect |
Contains classes to use reflection.
|
| gnu.kawa.xml |
Classes for using XML within Kawa.
|
| Modifier and Type | Method and Description |
|---|---|
CodeAttr |
Method.getCode () |
CodeAttr |
Method.startCode ()
Recommended method to create a new CodeAttr for this Method.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
SwitchState.addCase (int value,
CodeAttr code)
Add a new case.
|
boolean |
SwitchState.addCaseGoto (int value,
CodeAttr code,
Label label)
Optimization of
addCase(value, code); emitGoto(label). |
void |
SwitchState.addDefault (CodeAttr code) |
Variable |
Scope.addVariable (CodeAttr code,
Type type,
java.lang.String name) |
void |
Scope.addVariable (CodeAttr code,
Variable var) |
void |
Variable.allocateLocal (CodeAttr code)
Allocate slots for a local variable (or parameter).
|
void |
Label.define (CodeAttr code)
Define the value of a label as having the current location.
|
void |
Label.defineRaw (CodeAttr code)
Define the value of a label as having the current location.
|
void |
Type.emitCoerceFromObject (CodeAttr code)
Compile code to coerce/convert from Object to this type.
|
void |
ParameterizedType.emitCoerceFromObject (CodeAttr code) |
void |
PrimType.emitCoerceFromObject (CodeAttr code) |
void |
TypeVariable.emitCoerceFromObject (CodeAttr code) |
void |
ObjectType.emitCoerceFromObject (CodeAttr code)
Compile (in given method) cast from Object to this Type.
|
void |
Type.emitCoerceToObject (CodeAttr code)
Compile code to convert a object of this type on the stack to Object.
|
void |
PrimType.emitCoerceToObject (CodeAttr code) |
void |
Type.emitConvertFromPrimitive (Type stackType,
CodeAttr code)
Convert from stackType (usually PrimType) to this type.
|
void |
Type.emitIsInstance (CodeAttr code) |
void |
ParameterizedType.emitIsInstance (CodeAttr code) |
void |
PrimType.emitIsInstance (CodeAttr code) |
void |
StackMapTableAttr.emitStackMapEntry (Label label,
CodeAttr code)
Emit type state for the given Label.
|
void |
SwitchState.exitSwitch (CodeAttr code)
Break/exit from this switch.
|
void |
SwitchState.finish (CodeAttr code)
Handle the end of the switch statement.
|
void |
Variable.freeLocal (CodeAttr code) |
boolean |
SwitchState.insertCase (int value,
Label label,
CodeAttr code)
Internal routine to add a new case.
|
void |
Scope.noteStartFunction (CodeAttr code)
Should be called at the start of a logical function - inlined or not.
|
boolean |
Variable.reserveLocal (int varIndex,
CodeAttr code)
Assign a local variable to a given local variable slot.
|
void |
Scope.setStartPC (CodeAttr code) |
void |
Label.setTypes (CodeAttr code) |
void |
SwitchState.switchValuePushed (CodeAttr code)
Needs to be called after the switch value has been pushed.
|
| Constructor and Description |
|---|
IfState (CodeAttr code) |
IfState (CodeAttr code,
Label endLabel) |
Label (CodeAttr code) |
LineNumbersAttr (CodeAttr code)
Add a new LineNumbersAttr to a CodeAttr.
|
LineNumbersAttr (short[] numbers,
CodeAttr code) |
LocalVarsAttr (CodeAttr code)
Add a new LocalVarsAttr to a CodeAttr.
|
StackMapTableAttr (byte[] data,
CodeAttr code)
Add a new StackMapTableAttr to a CodeAttr.
|
SwitchState (CodeAttr code) |
TryState (CodeAttr code) |
| Modifier and Type | Method and Description |
|---|---|
CodeAttr |
Compilation.getCode () |
| Modifier and Type | Method and Description |
|---|---|
Variable |
Declaration.allocateVariable (CodeAttr code) |
Variable |
Declaration.allocateVariable (CodeAttr code,
boolean autoPopScope) |
static void |
PrimProcedure.compileReachedUnexpected (CodeAttr code) |
void |
ConditionalTarget.emitGotoFirstBranch (CodeAttr code)
Goto whichever of IfTrue or ifFalse is specified by trueBranchComesFirst.
|
void |
ScopeExp.popScope (CodeAttr code)
Clear bytecode resources for the ScopeExp.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LangObjType.emitCoerceFromObject (CodeAttr code) |
void |
LangPrimType.emitCoerceFromObject (CodeAttr code) |
void |
SeqSizeType.emitCoerceFromObject (CodeAttr code) |
void |
LangPrimType.emitCoerceToObject (CodeAttr code) |
boolean |
LangObjType.emitCoercionOrNull (CodeAttr code) |
boolean |
SeqSizeType.emitCoercionOrNull (CodeAttr code) |
void |
LangObjType.emitConvertFromPrimitive (Type stackType,
CodeAttr code) |
void |
LangPrimType.emitIsInstance (CodeAttr code) |
| Modifier and Type | Method and Description |
|---|---|
void |
MappedArrayType.emitCoerceFromObject (CodeAttr code) |
void |
SingletonType.emitCoerceFromObject (CodeAttr code) |
| Modifier and Type | Method and Description |
|---|---|
void |
NodeType.emitCoerceFromObject (CodeAttr code) |
void |
ElementType.emitCoerceFromObject (CodeAttr code) |
void |
XDataType.emitCoerceFromObject (CodeAttr code) |
void |
ProcessingInstructionType.emitCoerceFromObject (CodeAttr code) |
void |
AttributeType.emitCoerceFromObject (CodeAttr code) |
void |
XDataType.emitCoerceToObject (CodeAttr code) |