public class org.apache.bcel.util.Class2HTML implements org.apache.bcel.Constants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.bcel.util.Class2HTML
  super_class: java.lang.Object
{
  private final org.apache.bcel.classfile.JavaClass java_class;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String dir;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static java.lang.String class_package;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String class_name;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.apache.bcel.classfile.ConstantPool constant_pool;
    descriptor: Lorg/apache/bcel/classfile/ConstantPool;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.util.Set<java.lang.String> basic_types;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 63
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
         1: .line 66
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "int"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 67
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "short"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 68
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "boolean"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 69
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "void"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 70
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "char"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 71
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "byte"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 72
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "long"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 73
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "double"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 74
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            ldc "float"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 75
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.bcel.classfile.JavaClass, java.lang.String);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.apache.bcel.util.Class2HTML this
        start local 1 // org.apache.bcel.classfile.JavaClass java_class
        start local 2 // java.lang.String dir
         0: .line 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 1 /* java_class */
            invokevirtual org.apache.bcel.classfile.JavaClass.getMethods:()[Lorg/apache/bcel/classfile/Method;
            astore 3 /* methods */
        start local 3 // org.apache.bcel.classfile.Method[] methods
         2: .line 85
            aload 0 /* this */
            aload 1 /* java_class */
            putfield org.apache.bcel.util.Class2HTML.java_class:Lorg/apache/bcel/classfile/JavaClass;
         3: .line 86
            aload 0 /* this */
            aload 2 /* dir */
            putfield org.apache.bcel.util.Class2HTML.dir:Ljava/lang/String;
         4: .line 87
            aload 1 /* java_class */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            putstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
         5: .line 88
            aload 1 /* java_class */
            invokevirtual org.apache.bcel.classfile.JavaClass.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
            putstatic org.apache.bcel.util.Class2HTML.constant_pool:Lorg/apache/bcel/classfile/ConstantPool;
         6: .line 90
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* index */
        start local 4 // int index
         7: .line 91
            iload 4 /* index */
            iconst_m1
            if_icmple 10
         8: .line 92
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putstatic org.apache.bcel.util.Class2HTML.class_package:Ljava/lang/String;
         9: .line 93
            goto 11
        10: .line 94
      StackMap locals: org.apache.bcel.util.Class2HTML org.apache.bcel.classfile.JavaClass java.lang.String org.apache.bcel.classfile.Method[] int
      StackMap stack:
            ldc ""
            putstatic org.apache.bcel.util.Class2HTML.class_package:Ljava/lang/String;
        11: .line 96
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.util.ConstantHTML
            dup
            aload 2 /* dir */
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            getstatic org.apache.bcel.util.Class2HTML.class_package:Ljava/lang/String;
            aload 3 /* methods */
        12: .line 97
            getstatic org.apache.bcel.util.Class2HTML.constant_pool:Lorg/apache/bcel/classfile/ConstantPool;
        13: .line 96
            invokespecial org.apache.bcel.util.ConstantHTML.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lorg/apache/bcel/classfile/Method;Lorg/apache/bcel/classfile/ConstantPool;)V
            astore 5 /* constant_html */
        start local 5 // org.apache.bcel.util.ConstantHTML constant_html
        14: .line 101
            new org.apache.bcel.util.AttributeHTML
            dup
            aload 2 /* dir */
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            getstatic org.apache.bcel.util.Class2HTML.constant_pool:Lorg/apache/bcel/classfile/ConstantPool;
        15: .line 102
            aload 5 /* constant_html */
        16: .line 101
            invokespecial org.apache.bcel.util.AttributeHTML.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/classfile/ConstantPool;Lorg/apache/bcel/util/ConstantHTML;)V
            astore 6 /* attribute_html */
        start local 6 // org.apache.bcel.util.AttributeHTML attribute_html
        17: .line 103
            new org.apache.bcel.util.MethodHTML
            aload 2 /* dir */
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            aload 3 /* methods */
            aload 1 /* java_class */
            invokevirtual org.apache.bcel.classfile.JavaClass.getFields:()[Lorg/apache/bcel/classfile/Field;
        18: .line 104
            aload 5 /* constant_html */
            aload 6 /* attribute_html */
        19: .line 103
            invokespecial org.apache.bcel.util.MethodHTML.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/bcel/classfile/Method;[Lorg/apache/bcel/classfile/Field;Lorg/apache/bcel/util/ConstantHTML;Lorg/apache/bcel/util/AttributeHTML;)V
        20: .line 106
            aload 0 /* this */
            aload 6 /* attribute_html */
            invokevirtual org.apache.bcel.util.Class2HTML.writeMainHTML:(Lorg/apache/bcel/util/AttributeHTML;)V
        21: .line 107
            new org.apache.bcel.util.CodeHTML
            aload 2 /* dir */
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            aload 3 /* methods */
            getstatic org.apache.bcel.util.Class2HTML.constant_pool:Lorg/apache/bcel/classfile/ConstantPool;
            aload 5 /* constant_html */
            invokespecial org.apache.bcel.util.CodeHTML.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/bcel/classfile/Method;Lorg/apache/bcel/classfile/ConstantPool;Lorg/apache/bcel/util/ConstantHTML;)V
        22: .line 108
            aload 6 /* attribute_html */
            invokevirtual org.apache.bcel.util.AttributeHTML.close:()V
        23: .line 109
            return
        end local 6 // org.apache.bcel.util.AttributeHTML attribute_html
        end local 5 // org.apache.bcel.util.ConstantHTML constant_html
        end local 4 // int index
        end local 3 // org.apache.bcel.classfile.Method[] methods
        end local 2 // java.lang.String dir
        end local 1 // org.apache.bcel.classfile.JavaClass java_class
        end local 0 // org.apache.bcel.util.Class2HTML this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/apache/bcel/util/Class2HTML;
            0   24     1      java_class  Lorg/apache/bcel/classfile/JavaClass;
            0   24     2             dir  Ljava/lang/String;
            2   24     3         methods  [Lorg/apache/bcel/classfile/Method;
            7   24     4           index  I
           14   24     5   constant_html  Lorg/apache/bcel/util/ConstantHTML;
           17   24     6  attribute_html  Lorg/apache/bcel/util/AttributeHTML;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      java_class  final
      dir         final

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // java.lang.String[] argv
         0: .line 113
            aload 0 /* argv */
            arraylength
            anewarray java.lang.String
            astore 1 /* file_name */
        start local 1 // java.lang.String[] file_name
         1: .line 114
            iconst_0
            istore 2 /* files */
        start local 2 // int files
         2: .line 115
            aconst_null
            astore 3 /* parser */
        start local 3 // org.apache.bcel.classfile.ClassParser parser
         3: .line 116
            aconst_null
            astore 4 /* java_class */
        start local 4 // org.apache.bcel.classfile.JavaClass java_class
         4: .line 117
            aconst_null
            astore 5 /* zip_file */
        start local 5 // java.lang.String zip_file
         5: .line 118
            getstatic java.io.File.separatorChar:C
            istore 6 /* sep */
        start local 6 // char sep
         6: .line 119
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* sep */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* dir */
        start local 7 // java.lang.String dir
         7: .line 122
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         8: goto 28
         9: .line 123
      StackMap locals: java.lang.String[] java.lang.String[] int org.apache.bcel.classfile.ClassParser org.apache.bcel.classfile.JavaClass java.lang.String int java.lang.String int
      StackMap stack:
            aload 0 /* argv */
            iload 8 /* i */
            aaload
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 26
        10: .line 124
            aload 0 /* argv */
            iload 8 /* i */
            aaload
            ldc "-d"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        11: .line 125
            aload 0 /* argv */
            iinc 8 /* i */ 1
            iload 8 /* i */
            aaload
            astore 7 /* dir */
        12: .line 126
            aload 7 /* dir */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 6 /* sep */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 14
        13: .line 127
            new java.lang.StringBuilder
            dup
            aload 7 /* dir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* sep */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* dir */
        14: .line 129
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 7 /* dir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 9 /* store */
        start local 9 // java.io.File store
        15: .line 130
            aload 9 /* store */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 27
        16: .line 131
            aload 9 /* store */
            invokevirtual java.io.File.mkdirs:()Z
            istore 10 /* created */
        start local 10 // boolean created
        17: .line 132
            iload 10 /* created */
            ifne 27
        18: .line 133
            aload 9 /* store */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 27
        19: .line 134
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Tried to create the directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but failed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // boolean created
        end local 9 // java.io.File store
        20: .line 138
            goto 27
      StackMap locals:
      StackMap stack:
        21: aload 0 /* argv */
            iload 8 /* i */
            aaload
            ldc "-zip"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 139
            aload 0 /* argv */
            iinc 8 /* i */ 1
            iload 8 /* i */
            aaload
            astore 5 /* zip_file */
        23: .line 140
            goto 27
        24: .line 141
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unknown option "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* argv */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        25: .line 143
            goto 27
        26: .line 144
      StackMap locals:
      StackMap stack:
            aload 1 /* file_name */
            iload 2 /* files */
            iinc 2 /* files */ 1
            aload 0 /* argv */
            iload 8 /* i */
            aaload
            aastore
        27: .line 122
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            aload 0 /* argv */
            arraylength
            if_icmplt 9
        end local 8 // int i
        29: .line 147
            iload 2 /* files */
            ifne 32
        30: .line 148
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Class2HTML: No input files specified."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 149
            goto 44
        32: .line 150
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        33: goto 43
        34: .line 151
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file_name */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        35: .line 152
            aload 5 /* zip_file */
            ifnonnull 38
        36: .line 153
            new org.apache.bcel.classfile.ClassParser
            dup
            aload 1 /* file_name */
            iload 8 /* i */
            aaload
            invokespecial org.apache.bcel.classfile.ClassParser.<init>:(Ljava/lang/String;)V
            astore 3 /* parser */
        37: .line 154
            goto 39
        38: .line 155
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.classfile.ClassParser
            dup
            aload 5 /* zip_file */
            aload 1 /* file_name */
            iload 8 /* i */
            aaload
            invokespecial org.apache.bcel.classfile.ClassParser.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* parser */
        39: .line 157
      StackMap locals:
      StackMap stack:
            aload 3 /* parser */
            invokevirtual org.apache.bcel.classfile.ClassParser.parse:()Lorg/apache/bcel/classfile/JavaClass;
            astore 4 /* java_class */
        40: .line 158
            new org.apache.bcel.util.Class2HTML
            aload 4 /* java_class */
            aload 7 /* dir */
            invokespecial org.apache.bcel.util.Class2HTML.<init>:(Lorg/apache/bcel/classfile/JavaClass;Ljava/lang/String;)V
        41: .line 159
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Done."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 150
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 8 /* i */
            iload 2 /* files */
            if_icmplt 34
        end local 8 // int i
        44: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.String dir
        end local 6 // char sep
        end local 5 // java.lang.String zip_file
        end local 4 // org.apache.bcel.classfile.JavaClass java_class
        end local 3 // org.apache.bcel.classfile.ClassParser parser
        end local 2 // int files
        end local 1 // java.lang.String[] file_name
        end local 0 // java.lang.String[] argv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0        argv  [Ljava/lang/String;
            1   45     1   file_name  [Ljava/lang/String;
            2   45     2       files  I
            3   45     3      parser  Lorg/apache/bcel/classfile/ClassParser;
            4   45     4  java_class  Lorg/apache/bcel/classfile/JavaClass;
            5   45     5    zip_file  Ljava/lang/String;
            6   45     6         sep  C
            7   45     7         dir  Ljava/lang/String;
            8   29     8           i  I
           15   20     9       store  Ljava/io/File;
           17   20    10     created  Z
           33   44     8           i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      argv  final

  static java.lang.String referenceClass(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int index
         0: .line 170
            getstatic org.apache.bcel.util.Class2HTML.constant_pool:Lorg/apache/bcel/classfile/ConstantPool;
            iload 0 /* index */
            bipush 7
            invokevirtual org.apache.bcel.classfile.ConstantPool.getConstantString:(IB)Ljava/lang/String;
            astore 1 /* str */
        start local 1 // java.lang.String str
         1: .line 171
            aload 1 /* str */
            invokestatic org.apache.bcel.classfile.Utility.compactClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* str */
         2: .line 172
            aload 1 /* str */
            new java.lang.StringBuilder
            dup
            getstatic org.apache.bcel.util.Class2HTML.class_package:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokestatic org.apache.bcel.classfile.Utility.compactClassName:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* str */
         3: .line 173
            new java.lang.StringBuilder
            dup
            ldc "<A HREF=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_cp.html#cp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 0 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\" TARGET=ConstantPool>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 174
            ldc "</A>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 173
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String str
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  index  I
            1    6     1    str  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  final

  static java.lang.String referenceType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String type
         0: .line 179
            aload 0 /* type */
            invokestatic org.apache.bcel.classfile.Utility.compactClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* short_type */
        start local 1 // java.lang.String short_type
         1: .line 180
            aload 1 /* short_type */
            new java.lang.StringBuilder
            dup
            getstatic org.apache.bcel.util.Class2HTML.class_package:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokestatic org.apache.bcel.classfile.Utility.compactClassName:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* short_type */
         2: .line 181
            aload 0 /* type */
            bipush 91
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         3: .line 182
            aload 0 /* type */
            astore 3 /* base_type */
        start local 3 // java.lang.String base_type
         4: .line 183
            iload 2 /* index */
            iconst_m1
            if_icmple 6
         5: .line 184
            aload 0 /* type */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* base_type */
         6: .line 187
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            getstatic org.apache.bcel.util.Class2HTML.basic_types:Ljava/util/Set;
            aload 3 /* base_type */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 188
            new java.lang.StringBuilder
            dup
            ldc "<FONT COLOR=\"#00FF00\">"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</FONT>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         8: .line 190
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "<A HREF=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* base_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".html\" TARGET=_top>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* short_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</A>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String base_type
        end local 2 // int index
        end local 1 // java.lang.String short_type
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        type  Ljava/lang/String;
            1    9     1  short_type  Ljava/lang/String;
            3    9     2       index  I
            4    9     3   base_type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  final

  static java.lang.String toHTML(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String str
         0: .line 195
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 196
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 15
         3: .line 198
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* str */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
        start local 3 // char ch
         4: lookupswitch { // 4
                   10: 9
                   13: 11
                   60: 5
                   62: 7
              default: 13
          }
         5: .line 200
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            ldc "&lt;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 201
            goto 14
         7: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "&gt;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 204
            goto 14
         9: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 207
            goto 14
        11: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 210
            goto 14
        13: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char ch
        14: .line 196
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        16: .line 215
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0   str  Ljava/lang/String;
            1   17     1   buf  Ljava/lang/StringBuilder;
            2   16     2     i  I
            4   14     3    ch  C
    MethodParameters:
      Name  Flags
      str   final

  private void writeMainHTML(org.apache.bcel.util.AttributeHTML);
    descriptor: (Lorg/apache/bcel/util/AttributeHTML;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.apache.bcel.util.Class2HTML this
        start local 1 // org.apache.bcel.util.AttributeHTML attribute_html
         0: .line 220
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.PrintWriter
            dup
            new java.io.FileOutputStream
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.bcel.util.Class2HTML.dir:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".html"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* file */
        start local 4 // java.io.PrintWriter file
         2: .line 221
            aload 4 /* file */
            new java.lang.StringBuilder
            dup
            ldc "<HTML>\n<HEAD><TITLE>Documentation for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</TITLE>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</HEAD>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 222
            ldc "<FRAMESET BORDER=1 cols=\"30%,*\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<FRAMESET BORDER=1 rows=\"80%,*\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 223
            ldc "<FRAME NAME=\"ConstantPool\" SRC=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_cp.html"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"\n MARGINWIDTH=\"0\" "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 224
            ldc "MARGINHEIGHT=\"0\" FRAMEBORDER=\"1\" SCROLLING=\"AUTO\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<FRAME NAME=\"Attributes\" SRC=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 225
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_attributes.html"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"\n MARGINWIDTH=\"0\" "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 226
            ldc "MARGINHEIGHT=\"0\" FRAMEBORDER=\"1\" SCROLLING=\"AUTO\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</FRAMESET>\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 227
            ldc "<FRAMESET BORDER=1 rows=\"80%,*\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<FRAME NAME=\"Code\" SRC=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 228
            ldc "_code.html\"\n MARGINWIDTH=0 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "MARGINHEIGHT=0 FRAMEBORDER=1 SCROLLING=\"AUTO\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 229
            ldc "<FRAME NAME=\"Methods\" SRC=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.bcel.util.Class2HTML.class_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_methods.html\"\n MARGINWIDTH=0 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 230
            ldc "MARGINHEIGHT=0 FRAMEBORDER=1 SCROLLING=\"AUTO\">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</FRAMESET></FRAMESET></HTML>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 221
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 231
            aload 4 /* file */
            ifnull 19
            aload 4 /* file */
            invokevirtual java.io.PrintWriter.close:()V
            goto 19
      StackMap locals: org.apache.bcel.util.Class2HTML org.apache.bcel.util.AttributeHTML java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* file */
            ifnull 15
            aload 4 /* file */
            invokevirtual java.io.PrintWriter.close:()V
        end local 4 // java.io.PrintWriter file
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.bcel.util.Class2HTML.java_class:Lorg/apache/bcel/classfile/JavaClass;
            invokevirtual org.apache.bcel.classfile.JavaClass.getAttributes:()[Lorg/apache/bcel/classfile/Attribute;
            astore 2 /* attributes */
        start local 2 // org.apache.bcel.classfile.Attribute[] attributes
        20: .line 233
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        21: goto 24
        22: .line 234
      StackMap locals: org.apache.bcel.classfile.Attribute[] int
      StackMap stack:
            aload 1 /* attribute_html */
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            new java.lang.StringBuilder
            dup
            ldc "class"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.bcel.util.AttributeHTML.writeAttribute:(Lorg/apache/bcel/classfile/Attribute;Ljava/lang/String;)V
        23: .line 233
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            aload 2 /* attributes */
            arraylength
            if_icmplt 22
        end local 3 // int i
        25: .line 236
            return
        end local 2 // org.apache.bcel.classfile.Attribute[] attributes
        end local 1 // org.apache.bcel.util.AttributeHTML attribute_html
        end local 0 // org.apache.bcel.util.Class2HTML this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lorg/apache/bcel/util/Class2HTML;
            0   26     1  attribute_html  Lorg/apache/bcel/util/AttributeHTML;
            2   15     4            file  Ljava/io/PrintWriter;
           20   26     2      attributes  [Lorg/apache/bcel/classfile/Attribute;
           21   25     3               i  I
      Exception table:
        from    to  target  type
           2    13      14  any
           1    16      16  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      attribute_html  final
}
SourceFile: "Class2HTML.java"