Package | Description |
---|---|
org.codehaus.janino |
The classes in this package pose the core of the Janino JavaTM compiler.
|
Modifier and Type | Class and Description |
---|---|
class |
CodeContext.Inserter
A class that implements an insertion point into a "Code" attribute.
|
class |
CodeContext.LineNumberOffset
An
CodeContext.Offset who#s sole purpose is to later create a 'LneNumberTable' attribute. |
(package private) static class |
Java.Padder |
Modifier and Type | Field and Description |
---|---|
private CodeContext.Offset |
CodeContext.beginning |
private CodeContext.Offset |
CodeContext.Branch.destination |
private CodeContext.Offset |
CodeContext.OffsetBranch.destination |
private CodeContext.Offset |
Java.LocalVariableSlot.end |
(package private) CodeContext.Offset |
CodeContext.ExceptionTableEntry.endPC |
(package private) CodeContext.Offset |
Java.TryStatement.finallyOffset
This one's created iff the TRY statement has a FINALLY clause when the compilation of the TRY statement
begins.
|
(package private) CodeContext.Offset |
CodeContext.ExceptionTableEntry.handlerPC |
(package private) CodeContext.Offset |
CodeContext.Offset.next
Links to preceding and succeding offsets.
|
(package private) CodeContext.Offset |
CodeContext.Offset.prev
Links to preceding and succeding offsets.
|
private CodeContext.Offset |
CodeContext.OffsetBranch.source |
private CodeContext.Offset |
Java.LocalVariableSlot.start |
(package private) CodeContext.Offset |
CodeContext.ExceptionTableEntry.startPC |
private CodeContext.Offset |
CodeContext.OffsetBranch.where |
(package private) CodeContext.Offset |
Java.BreakableStatement.whereToBreak
This one's filled in by the first BREAK statement, and is
set() by this breakable statement. |
protected CodeContext.Offset |
Java.ContinuableStatement.whereToContinue
This one's filled in by the first CONTINUE statement, and is
set() by this continuable
statement. |
Modifier and Type | Method and Description |
---|---|
CodeContext.Offset |
Java.LocalVariableSlot.getEnd() |
CodeContext.Offset |
Java.LocalVariableSlot.getStart() |
private CodeContext.Offset |
UnitCompiler.getWhereToBreak(Java.BreakableStatement bs) |
CodeContext.Offset |
CodeContext.newOffset()
Creates and inserts an
CodeContext.Offset at the current inserter's current position. |
Modifier and Type | Method and Description |
---|---|
void |
CodeContext.addExceptionTableEntry(CodeContext.Offset startPc,
CodeContext.Offset endPc,
CodeContext.Offset handlerPc,
java.lang.String catchTypeFd)
Add another entry to the "exception_table" of this code attribute (see JVMS 4.7.3).
|
private void |
UnitCompiler.compileBoolean(Java.Rvalue rv,
CodeContext.Offset dst,
boolean orientation)
Some
Java.Rvalue s compile more efficiently when their value is the condition for a branch. |
private void |
UnitCompiler.compileBoolean2(Java.BinaryOperation bo,
CodeContext.Offset dst,
boolean orientation) |
private void |
UnitCompiler.compileBoolean2(Java.ParenthesizedExpression pe,
CodeContext.Offset dst,
boolean orientation) |
private void |
UnitCompiler.compileBoolean2(Java.Rvalue rv,
CodeContext.Offset dst,
boolean orientation) |
private void |
UnitCompiler.compileBoolean2(Java.UnaryOperation ue,
CodeContext.Offset dst,
boolean orientation) |
void |
CodeContext.removeCode(CodeContext.Offset from,
CodeContext.Offset to)
Removes all code between
from and to . |
void |
Java.LocalVariableSlot.setEnd(CodeContext.Offset end) |
void |
Java.LocalVariableSlot.setStart(CodeContext.Offset start) |
private void |
UnitCompiler.writeBranch(Java.Locatable locatable,
int opcode,
CodeContext.Offset dst) |
void |
CodeContext.writeBranch(short lineNumber,
int opcode,
CodeContext.Offset dst) |
private void |
UnitCompiler.writeOffset(CodeContext.Offset src,
CodeContext.Offset dst) |
void |
CodeContext.writeOffset(short lineNumber,
CodeContext.Offset src,
CodeContext.Offset dst)
Writes a four-byte offset (as it is used in TABLESWITCH and LOOKUPSWITCH) into this code context.
|
Constructor and Description |
---|
Branch(int opcode,
CodeContext.Offset destination) |
ExceptionTableEntry(CodeContext.Offset startPc,
CodeContext.Offset endPc,
CodeContext.Offset handlerPc,
short catchType) |
OffsetBranch(CodeContext.Offset where,
CodeContext.Offset source,
CodeContext.Offset destination) |