Package org.objectweb.asm.commons
Class ModuleHashesAttribute
- java.lang.Object
-
- org.objectweb.asm.Attribute
-
- org.objectweb.asm.commons.ModuleHashesAttribute
-
public final class ModuleHashesAttribute extends Attribute
A ModuleHashes attribute. This attribute is specific to the OpenJDK and may change in the future.
-
-
Constructor Summary
Constructors Constructor Description ModuleHashesAttribute()
Constructs an emptyModuleHashesAttribute
.ModuleHashesAttribute(String algorithm, List<String> modules, List<byte[]> hashes)
Constructs a newModuleHashesAttribute
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Attribute
read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels)
Reads aAttribute.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.-
Methods inherited from class org.objectweb.asm.Attribute
getLabels, isCodeAttribute, isUnknown
-
-
-
-
Constructor Detail
-
ModuleHashesAttribute
public ModuleHashesAttribute(String algorithm, List<String> modules, List<byte[]> hashes)
Constructs a newModuleHashesAttribute
.- Parameters:
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.
-
ModuleHashesAttribute
public ModuleHashesAttribute()
Constructs an emptyModuleHashesAttribute
. This object can be passed as a prototype to theClassReader.accept(org.objectweb.asm.ClassVisitor, Attribute[], int)
method.
-
-
Method Detail
-
read
protected Attribute read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels)
Description copied from class:Attribute
Reads aAttribute.type
attribute. This method must return a newAttribute
object, of typeAttribute.type
, corresponding to the 'length' bytes starting at 'offset', in the given ClassReader.- Overrides:
read
in classAttribute
- Parameters:
classReader
- the class that contains the attribute to be read.offset
- index of the first byte of the attribute's content inClassReader.b
. 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 inClassReader.b
, 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.- Returns:
- a new
Attribute
object corresponding to the specified bytes.
-
write
protected ByteVector write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)
Description copied from class:Attribute
Returns the byte array form of the content of this attribute. The 6 header bytes (attribute_name_index and attribute_length) must not be added in the returned ByteVector.- Overrides:
write
in classAttribute
- Parameters:
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.- Returns:
- the byte array form of this attribute.
-
-