Package org.openjdk.asmtools.jasm
Class StackMapData
java.lang.Object
org.openjdk.asmtools.jasm.StackMapData
- All Implemented Interfaces:
DataWriter
4.7.4. The StackMapTable Attribute
StackMapTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_entries; stack_map_frame entries[number_of_entries]; }
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
verification_type_info: Top_variable_info, Integer_variable_info, Float_variable_info, Null_variable_info, UninitializedThis_variable_info, Long_variable_info, Double_variable_info Common format: *_info { u1 tag = ITEM_*; // from 0 to 6 }static class
verification_type_info: Object_variable_info, Uninitialized_variable_info Common Format: *_info { u1 tag = ITEM_*; // from 7 to 8 u2 cpool_index/offset; } -
Field Summary
FieldsModifier and TypeFieldDescription(package private) JasmEnvironment
private int
(package private) boolean
(package private) DataVector<? extends Indexer>
private int
private int
private int
private String
(package private) DataVector<? extends Indexer>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
(package private) boolean
isSet()
Checks whether a method's Code attribute has a StackMapTable attribute.(package private) StackMapData
setIsStackMapTable
(boolean hasStackMapTable) In a class file whose version number is 50.0 or above, if a method's Code attribute does not have a StackMapTable attribute, it has an implicit stack map attribute (§4.10.1).(package private) StackMapData
setOffset
(StackMapData prevFrame) (package private) StackMapData
setPC
(int pc) (package private) StackMapData
setScannerPosition
(int scannerPosition) (package private) StackMapData
setStackFrameType
(String stackFrameType) void
-
Field Details
-
hasStackMapTable
boolean hasStackMapTable -
localsMap
DataVector<? extends Indexer> localsMap -
stackMap
DataVector<? extends Indexer> stackMap -
environment
JasmEnvironment environment -
pc
private int pc -
scannerPosition
private int scannerPosition -
offset
private int offset -
frameTypeTag
private int frameTypeTag -
stackFrameType
-
-
Constructor Details
-
StackMapData
StackMapData(JasmEnvironment environment)
-
-
Method Details
-
setOffset
-
setStackFrameType
-
setIsStackMapTable
In a class file whose version number is 50.0 or above, if a method's Code attribute does not have a StackMapTable attribute, it has an implicit stack map attribute (§4.10.1). This implicit stack map attribute is equivalent to a StackMapTable attribute with number_of_entries equal to zero.- Parameters:
hasStackMapTable
- false if a method's Code attribute does not have a StackMapTable attribute
-
setPC
-
setScannerPosition
-
isSet
boolean isSet()Checks whether a method's Code attribute has a StackMapTable attribute.- Returns:
- true if a method's Code attribute has a StackMapTable attribute.
-
getLength
public int getLength()- Specified by:
getLength
in interfaceDataWriter
-
write
- Specified by:
write
in interfaceDataWriter
- Throws:
IOException
-