final class Handler
extends java.lang.Object
nextHandler
field, to describe a full JVMS
exception_table array.Modifier and Type | Field and Description |
---|---|
(package private) int |
catchType
The catch_type field of this JVMS exception_table entry.
|
(package private) java.lang.String |
catchTypeDescriptor
The internal name of the type of exceptions handled by this handler, or null to
catch any exceptions.
|
(package private) Label |
endPc
The end_pc field of this JVMS exception_table entry.
|
(package private) Label |
handlerPc
The handler_pc field of this JVMS exception_table entry.
|
(package private) Handler |
nextHandler
The next exception handler.
|
(package private) Label |
startPc
The start_pc field of this JVMS exception_table entry.
|
Constructor and Description |
---|
Handler(Handler handler,
Label startPc,
Label endPc)
Constructs a new Handler from the given one, with a different scope.
|
Handler(Label startPc,
Label endPc,
Label handlerPc,
int catchType,
java.lang.String catchTypeDescriptor)
Constructs a new Handler.
|
Modifier and Type | Method and Description |
---|---|
(package private) static int |
getExceptionTableLength(Handler firstHandler)
Returns the number of elements of the Handler list that begins with the given element.
|
(package private) static int |
getExceptionTableSize(Handler firstHandler)
Returns the size in bytes of the JVMS exception_table corresponding to the Handler list that
begins with the given element.
|
(package private) static void |
putExceptionTable(Handler firstHandler,
ByteVector output)
Puts the JVMS exception_table corresponding to the Handler list that begins with the given
element.
|
(package private) static Handler |
removeRange(Handler firstHandler,
Label start,
Label end)
Removes the range between start and end from the Handler list that begins with the given
element.
|
final Label startPc
final Label endPc
final Label handlerPc
final int catchType
final java.lang.String catchTypeDescriptor
Handler nextHandler
Handler(Label startPc, Label endPc, Label handlerPc, int catchType, java.lang.String catchTypeDescriptor)
startPc
- the start_pc field of this JVMS exception_table entry.endPc
- the end_pc field of this JVMS exception_table entry.handlerPc
- the handler_pc field of this JVMS exception_table entry.catchType
- The catch_type field of this JVMS exception_table entry.catchTypeDescriptor
- The internal name of the type of exceptions handled by this handler,
or null to catch any exceptions.static Handler removeRange(Handler firstHandler, Label start, Label end)
firstHandler
- the beginning of a Handler list. May be null.start
- the start of the range to be removed.end
- the end of the range to be removed. Maybe null.static int getExceptionTableLength(Handler firstHandler)
firstHandler
- the beginning of a Handler list. May be null.static int getExceptionTableSize(Handler firstHandler)
firstHandler
- the beginning of a Handler list. May be null.static void putExceptionTable(Handler firstHandler, ByteVector output)
firstHandler
- the beginning of a Handler list. May be null.output
- where the exception_table_length and exception_table structures must be put.