| 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. |
| Modifier and Type | Method and Description |
|---|---|
Label |
CodeAttr.emitIfRaw ()
Start a new if/then/else block.
|
Label |
ExitableBlock.exitIsGoto ()
If an exit is simple, return the label for block end.
|
Label |
Scope.getEndLabel () |
Label |
CodeAttr.getLabel ()
Get a new Label for the current location.
|
Label |
Scope.getStartLabel () |
| Modifier and Type | Method and Description |
|---|---|
boolean |
SwitchState.addCaseGoto (int value,
CodeAttr code,
Label label)
Optimization of
addCase(value, code); emitGoto(label). |
void |
CodeAttr.addHandler (Label start_try,
Label end_try,
ClassType catch_type)
Add an exception handler.
|
int |
CodeAttr.beginFragment (Label after) |
int |
CodeAttr.beginFragment (Label start,
Label after) |
void |
CodeAttr.emitGoto (Label label)
Compile an unconditional branch (goto).
|
void |
CodeAttr.emitGotoIfCompare1 (Label label,
int opcode) |
void |
CodeAttr.emitGotoIfCompare2 (Label label,
int logop) |
void |
CodeAttr.emitGotoIfEq (Label label)
Compile a conditional transfer if 2 top stack elements are equal.
|
void |
CodeAttr.emitGotoIfEq (Label label,
boolean invert)
Deprecated.
|
void |
CodeAttr.emitGotoIfGe (Label label) |
void |
CodeAttr.emitGotoIfGt (Label label) |
void |
CodeAttr.emitGotoIfIntEqZero (Label label) |
void |
CodeAttr.emitGotoIfIntGeZero (Label label) |
void |
CodeAttr.emitGotoIfIntGtZero (Label label) |
void |
CodeAttr.emitGotoIfIntLeZero (Label label) |
void |
CodeAttr.emitGotoIfIntLtZero (Label label) |
void |
CodeAttr.emitGotoIfIntNeZero (Label label) |
void |
CodeAttr.emitGotoIfLe (Label label) |
void |
CodeAttr.emitGotoIfLt (Label label) |
void |
CodeAttr.emitGotoIfNE (Label label)
Compile conditional transfer if 2 top stack elements are not equal.
|
void |
CodeAttr.emitGotoIfNonNull (Label label) |
void |
CodeAttr.emitGotoIfNull (Label label) |
void |
CodeAttr.emitJsr (Label label) |
void |
StackMapTableAttr.emitStackMapEntry (Label label,
CodeAttr code)
Emit type state for the given Label.
|
void |
CodeAttr.emitTailCall (boolean pop_args,
Label start)
Compile a tail-call to position 0 of the current procedure.
|
void |
CodeAttr.fixupAdd (int kind,
Label label)
Add a fixup at this location.
|
void |
CodeAttr.fixupChain (Label here,
Label target)
This causes a later processFixup to rearrange the code.
|
boolean |
SwitchState.insertCase (int value,
Label label,
CodeAttr code)
Internal routine to add a new case.
|
void |
Label.setTypes (Label other) |
void |
CodeAttr.setTypes (Label label)
Set the current type state from a label.
|
| Constructor and Description |
|---|
IfState (CodeAttr code,
Label endLabel) |
Scope (Label start,
Label end) |
| Modifier and Type | Field and Description |
|---|---|
Label |
ConditionalTarget.ifFalse |
Label |
ConditionalTarget.ifTrue |
| Constructor and Description |
|---|
ConditionalTarget (Label ifTrue,
Label ifFalse,
Language language) |