org.objectweb.asm.attrs
Class SourceDebugExtensionAttribute
public class SourceDebugExtensionAttribute
The SourceDebugExtension attribute is an optional attribute defined in JSR-045
in the attributes table of the ClassFile structure. There can be no more than one
SourceDebugExtension attribute in the attributes table of a given ClassFile
structure. The SourceDebugExtension attribute has the following format:
SourceDebugExtension_attribute {
u2 attribute_name_index;
u4 attribute_length;
u1 debug_extension[attribute_length];
}
The items of the SourceDebugExtension_attribute structure are as follows:
- attribute_name_index
- The value of the attribute_name_index item must be a valid index into the
constant_pool table. The constant_pool entry at that index must be a
CONSTANT_Utf8_info structure representing the string "SourceDebugExtension".
- attribute_length
- The value of the attribute_length item indicates the length of
the attribute, excluding the initial six bytes. The value of the
attribute_length item is thus the number of bytes in the debug_extension[]
item.
- debug_extension[]
- The debug_extension array holds a string, which must be in UTF-8 format.
There is no terminating zero byte. The string in the debug_extension item
will be interpreted as extended debugging information. The content of this
string has no semantic effect on the Java Virtual Machine.
- Eugene Kuleshov
JSR-045: Debugging
Support for Other Languages
debugExtension
public String debugExtension
SourceDebugExtensionAttribute
public SourceDebugExtensionAttribute()
SourceDebugExtensionAttribute
public SourceDebugExtensionAttribute(String debugExtension)
Constructs a new empty attribute.
toString
public String toString()
write
protected ByteVector write(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
Returns the byte array form of this attribute.
- write in interface Attribute
cw
- the class to which this attribute must be added. This parameter
can be used to add to the constant pool of this class the items that
corresponds to this attribute.code
- the bytecode of the method corresponding to this code
attribute, or null if this attribute is not a code
attributes.len
- the length of the bytecode of the method corresponding to this
code attribute, or null if this attribute is not a code
attribute.maxStack
- the maximum stack size of the method corresponding to this
code attribute, or -1 if this attribute is not a code attribute.maxLocals
- the maximum number of local variables of the method
corresponding to this code attribute, or -1 if this attribute is not
a code attribute.
- the byte array form of this attribute.