public final class ModuleHashesAttribute extends Attribute
Modifier and Type | Field and Description |
---|---|
java.lang.String |
algorithm
The name of the hashing algorithm.
|
java.util.List<byte[]> |
hashes
The hash of the modules in
modules . |
java.util.List<java.lang.String> |
modules
A list of module names.
|
Constructor and Description |
---|
ModuleHashesAttribute()
Constructs an empty
ModuleHashesAttribute . |
ModuleHashesAttribute(java.lang.String algorithm,
java.util.List<java.lang.String> modules,
java.util.List<byte[]> hashes)
Constructs a new
ModuleHashesAttribute . |
Modifier and Type | Method and Description |
---|---|
protected Attribute |
read(ClassReader classReader,
int offset,
int length,
char[] charBuffer,
int codeAttributeOffset,
Label[] labels)
Reads a
Attribute.type attribute. |
protected ByteVector |
write(ClassWriter classWriter,
byte[] code,
int codeLength,
int maxStack,
int maxLocals)
Returns the byte array form of the content of this attribute.
|
getLabels, isCodeAttribute, isUnknown
public java.lang.String algorithm
public java.util.List<java.lang.String> modules
public java.util.List<byte[]> hashes
modules
. The two lists must have the same size.public ModuleHashesAttribute(java.lang.String algorithm, java.util.List<java.lang.String> modules, java.util.List<byte[]> hashes)
ModuleHashesAttribute
.algorithm
- the name of the hashing algorithm.modules
- a list of module names.hashes
- the hash of the modules in 'modules'. The two lists must have the same size.public ModuleHashesAttribute()
ModuleHashesAttribute
. This object can be passed as a prototype to
the ClassReader.accept(org.objectweb.asm.ClassVisitor, Attribute[], int)
method.protected Attribute read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels)
Attribute
Attribute.type
attribute. This method must return a new Attribute
object,
of type Attribute.type
, corresponding to the 'length' bytes starting at 'offset', in the given
ClassReader.read
in class Attribute
classReader
- the class that contains the attribute to be read.offset
- index of the first byte of the attribute's content in ClassReader
. The 6
attribute header bytes (attribute_name_index and attribute_length) are not taken into
account here.length
- the length of the attribute's content (excluding the 6 attribute header bytes).charBuffer
- the buffer to be used to call the ClassReader methods requiring a
'charBuffer' parameter.codeAttributeOffset
- index of the first byte of content of the enclosing Code attribute
in ClassReader
, or -1 if the attribute to be read is not a code attribute. The 6
attribute header bytes (attribute_name_index and attribute_length) are not taken into
account here.labels
- the labels of the method's code, or null if the attribute to be read
is not a code attribute.Attribute
object corresponding to the specified bytes.protected ByteVector write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)
Attribute
write
in class Attribute
classWriter
- the class to which this attribute must be added. This parameter can be used
to add the items that corresponds to this attribute to the constant pool of this class.code
- the bytecode of the method corresponding to this code attribute, or null
if this attribute is not a code attribute. Corresponds to the 'code' field of the Code
attribute.codeLength
- the length of the bytecode of the method corresponding to this code
attribute, or 0 if this attribute is not a code attribute. Corresponds to the 'code_length'
field of the 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.