public final class org.objectweb.asm.commons.ModuleHashesAttribute extends org.objectweb.asm.Attribute
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.objectweb.asm.commons.ModuleHashesAttribute
  super_class: org.objectweb.asm.Attribute
{
  public java.lang.String algorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.util.List<java.lang.String> modules;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<byte[]> hashes;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<[B>;

  public void <init>(java.lang.String, java.util.List<java.lang.String>, java.util.List<byte[]>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
        start local 1 // java.lang.String algorithm
        start local 2 // java.util.List modules
        start local 3 // java.util.List hashes
         0: .line 64
            aload 0 /* this */
            ldc "ModuleHashes"
            invokespecial org.objectweb.asm.Attribute.<init>:(Ljava/lang/String;)V
         1: .line 65
            aload 0 /* this */
            aload 1 /* algorithm */
            putfield org.objectweb.asm.commons.ModuleHashesAttribute.algorithm:Ljava/lang/String;
         2: .line 66
            aload 0 /* this */
            aload 2 /* modules */
            putfield org.objectweb.asm.commons.ModuleHashesAttribute.modules:Ljava/util/List;
         3: .line 67
            aload 0 /* this */
            aload 3 /* hashes */
            putfield org.objectweb.asm.commons.ModuleHashesAttribute.hashes:Ljava/util/List;
         4: .line 68
            return
        end local 3 // java.util.List hashes
        end local 2 // java.util.List modules
        end local 1 // java.lang.String algorithm
        end local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/objectweb/asm/commons/ModuleHashesAttribute;
            0    5     1  algorithm  Ljava/lang/String;
            0    5     2    modules  Ljava/util/List<Ljava/lang/String;>;
            0    5     3     hashes  Ljava/util/List<[B>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<[B>;)V
    MethodParameters:
           Name  Flags
      algorithm  final
      modules    final
      hashes     final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
         0: .line 75
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            invokespecial org.objectweb.asm.commons.ModuleHashesAttribute.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
         1: .line 76
            return
        end local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/objectweb/asm/commons/ModuleHashesAttribute;

  protected org.objectweb.asm.Attribute read(org.objectweb.asm.ClassReader, int, int, char[], int, org.objectweb.asm.Label[]);
    descriptor: (Lorg/objectweb/asm/ClassReader;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=17, args_size=7
        start local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
        start local 1 // org.objectweb.asm.ClassReader classReader
        start local 2 // int offset
        start local 3 // int length
        start local 4 // char[] charBuffer
        start local 5 // int codeAttributeOffset
        start local 6 // org.objectweb.asm.Label[] labels
         0: .line 86
            iload 2 /* offset */
            istore 7 /* currentOffset */
        start local 7 // int currentOffset
         1: .line 88
            aload 1 /* classReader */
            iload 7 /* currentOffset */
            aload 4 /* charBuffer */
            invokevirtual org.objectweb.asm.ClassReader.readUTF8:(I[C)Ljava/lang/String;
            astore 8 /* hashAlgorithm */
        start local 8 // java.lang.String hashAlgorithm
         2: .line 89
            iinc 7 /* currentOffset */ 2
         3: .line 91
            aload 1 /* classReader */
            iload 7 /* currentOffset */
            invokevirtual org.objectweb.asm.ClassReader.readUnsignedShort:(I)I
            istore 9 /* numModules */
        start local 9 // int numModules
         4: .line 92
            iinc 7 /* currentOffset */ 2
         5: .line 94
            new java.util.ArrayList
            dup
            iload 9 /* numModules */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* moduleList */
        start local 10 // java.util.ArrayList moduleList
         6: .line 95
            new java.util.ArrayList
            dup
            iload 9 /* numModules */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 11 /* hashList */
        start local 11 // java.util.ArrayList hashList
         7: .line 97
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         8: goto 23
         9: .line 98
      StackMap locals: org.objectweb.asm.commons.ModuleHashesAttribute org.objectweb.asm.ClassReader int int char[] int org.objectweb.asm.Label[] int java.lang.String int java.util.ArrayList java.util.ArrayList int
      StackMap stack:
            aload 1 /* classReader */
            iload 7 /* currentOffset */
            aload 4 /* charBuffer */
            invokevirtual org.objectweb.asm.ClassReader.readModule:(I[C)Ljava/lang/String;
            astore 13 /* module */
        start local 13 // java.lang.String module
        10: .line 99
            iinc 7 /* currentOffset */ 2
        11: .line 100
            aload 10 /* moduleList */
            aload 13 /* module */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 102
            aload 1 /* classReader */
            iload 7 /* currentOffset */
            invokevirtual org.objectweb.asm.ClassReader.readUnsignedShort:(I)I
            istore 14 /* hashLength */
        start local 14 // int hashLength
        13: .line 103
            iinc 7 /* currentOffset */ 2
        14: .line 104
            iload 14 /* hashLength */
            newarray 8
            astore 15 /* hash */
        start local 15 // byte[] hash
        15: .line 105
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        16: goto 20
        17: .line 106
      StackMap locals: org.objectweb.asm.commons.ModuleHashesAttribute org.objectweb.asm.ClassReader int int char[] int org.objectweb.asm.Label[] int java.lang.String int java.util.ArrayList java.util.ArrayList int java.lang.String int byte[] int
      StackMap stack:
            aload 15 /* hash */
            iload 16 /* j */
            aload 1 /* classReader */
            iload 7 /* currentOffset */
            invokevirtual org.objectweb.asm.ClassReader.readByte:(I)I
            sipush 255
            iand
            i2b
            bastore
        18: .line 107
            iinc 7 /* currentOffset */ 1
        19: .line 105
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 16 /* j */
            iload 14 /* hashLength */
            if_icmplt 17
        end local 16 // int j
        21: .line 109
            aload 11 /* hashList */
            aload 15 /* hash */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // byte[] hash
        end local 14 // int hashLength
        end local 13 // java.lang.String module
        22: .line 97
            iinc 12 /* i */ 1
      StackMap locals: org.objectweb.asm.commons.ModuleHashesAttribute org.objectweb.asm.ClassReader int int char[] int org.objectweb.asm.Label[] int java.lang.String int java.util.ArrayList java.util.ArrayList int
      StackMap stack:
        23: iload 12 /* i */
            iload 9 /* numModules */
            if_icmplt 9
        end local 12 // int i
        24: .line 111
            new org.objectweb.asm.commons.ModuleHashesAttribute
            dup
            aload 8 /* hashAlgorithm */
            aload 10 /* moduleList */
            aload 11 /* hashList */
            invokespecial org.objectweb.asm.commons.ModuleHashesAttribute.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
            areturn
        end local 11 // java.util.ArrayList hashList
        end local 10 // java.util.ArrayList moduleList
        end local 9 // int numModules
        end local 8 // java.lang.String hashAlgorithm
        end local 7 // int currentOffset
        end local 6 // org.objectweb.asm.Label[] labels
        end local 5 // int codeAttributeOffset
        end local 4 // char[] charBuffer
        end local 3 // int length
        end local 2 // int offset
        end local 1 // org.objectweb.asm.ClassReader classReader
        end local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lorg/objectweb/asm/commons/ModuleHashesAttribute;
            0   25     1          classReader  Lorg/objectweb/asm/ClassReader;
            0   25     2               offset  I
            0   25     3               length  I
            0   25     4           charBuffer  [C
            0   25     5  codeAttributeOffset  I
            0   25     6               labels  [Lorg/objectweb/asm/Label;
            1   25     7        currentOffset  I
            2   25     8        hashAlgorithm  Ljava/lang/String;
            4   25     9           numModules  I
            6   25    10           moduleList  Ljava/util/ArrayList<Ljava/lang/String;>;
            7   25    11             hashList  Ljava/util/ArrayList<[B>;
            8   24    12                    i  I
           10   22    13               module  Ljava/lang/String;
           13   22    14           hashLength  I
           15   22    15                 hash  [B
           16   21    16                    j  I
    MethodParameters:
                     Name  Flags
      classReader          final
      offset               final
      length               final
      charBuffer           final
      codeAttributeOffset  final
      labels               final

  protected org.objectweb.asm.ByteVector write(org.objectweb.asm.ClassWriter, byte[], int, int, int);
    descriptor: (Lorg/objectweb/asm/ClassWriter;[BIII)Lorg/objectweb/asm/ByteVector;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=6
        start local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
        start local 1 // org.objectweb.asm.ClassWriter classWriter
        start local 2 // byte[] code
        start local 3 // int codeLength
        start local 4 // int maxStack
        start local 5 // int maxLocals
         0: .line 121
            new org.objectweb.asm.ByteVector
            dup
            invokespecial org.objectweb.asm.ByteVector.<init>:()V
            astore 6 /* byteVector */
        start local 6 // org.objectweb.asm.ByteVector byteVector
         1: .line 122
            aload 6 /* byteVector */
            aload 1 /* classWriter */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.ModuleHashesAttribute.algorithm:Ljava/lang/String;
            invokevirtual org.objectweb.asm.ClassWriter.newUTF8:(Ljava/lang/String;)I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         2: .line 123
            aload 0 /* this */
            getfield org.objectweb.asm.commons.ModuleHashesAttribute.modules:Ljava/util/List;
            ifnonnull 5
         3: .line 124
            aload 6 /* byteVector */
            iconst_0
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         4: .line 125
            goto 17
         5: .line 126
      StackMap locals: org.objectweb.asm.ByteVector
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.ModuleHashesAttribute.modules:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 7 /* numModules */
        start local 7 // int numModules
         6: .line 127
            aload 6 /* byteVector */
            iload 7 /* numModules */
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         7: .line 128
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 16
         9: .line 129
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.ModuleHashesAttribute.modules:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* module */
        start local 9 // java.lang.String module
        10: .line 130
            aload 0 /* this */
            getfield org.objectweb.asm.commons.ModuleHashesAttribute.hashes:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast byte[]
            astore 10 /* hash */
        start local 10 // byte[] hash
        11: .line 131
            aload 6 /* byteVector */
        12: .line 132
            aload 1 /* classWriter */
            aload 9 /* module */
            invokevirtual org.objectweb.asm.ClassWriter.newModule:(Ljava/lang/String;)I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
        13: .line 133
            aload 10 /* hash */
            arraylength
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
        14: .line 134
            aload 10 /* hash */
            iconst_0
            aload 10 /* hash */
            arraylength
            invokevirtual org.objectweb.asm.ByteVector.putByteArray:([BII)Lorg/objectweb/asm/ByteVector;
            pop
        end local 10 // byte[] hash
        end local 9 // java.lang.String module
        15: .line 128
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            iload 7 /* numModules */
            if_icmplt 9
        end local 8 // int i
        end local 7 // int numModules
        17: .line 137
      StackMap locals:
      StackMap stack:
            aload 6 /* byteVector */
            areturn
        end local 6 // org.objectweb.asm.ByteVector byteVector
        end local 5 // int maxLocals
        end local 4 // int maxStack
        end local 3 // int codeLength
        end local 2 // byte[] code
        end local 1 // org.objectweb.asm.ClassWriter classWriter
        end local 0 // org.objectweb.asm.commons.ModuleHashesAttribute this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/objectweb/asm/commons/ModuleHashesAttribute;
            0   18     1  classWriter  Lorg/objectweb/asm/ClassWriter;
            0   18     2         code  [B
            0   18     3   codeLength  I
            0   18     4     maxStack  I
            0   18     5    maxLocals  I
            1   18     6   byteVector  Lorg/objectweb/asm/ByteVector;
            6   17     7   numModules  I
            8   17     8            i  I
           10   15     9       module  Ljava/lang/String;
           11   15    10         hash  [B
    MethodParameters:
             Name  Flags
      classWriter  final
      code         final
      codeLength   final
      maxStack     final
      maxLocals    final
}
SourceFile: "ModuleHashesAttribute.java"