public class com.sun.tools.javac.code.ClassFinder$BadClassFile extends com.sun.tools.javac.code.Symbol$CompletionFailure
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.ClassFinder$BadClassFile
  super_class: com.sun.tools.javac.code.Symbol$CompletionFailure
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public void <init>(com.sun.tools.javac.code.Symbol$TypeSymbol, javax.tools.JavaFileObject, com.sun.tools.javac.util.JCDiagnostic, com.sun.tools.javac.util.JCDiagnostic$Factory);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljavax/tools/JavaFileObject;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/util/JCDiagnostic$Factory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.code.ClassFinder$BadClassFile this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol sym
        start local 2 // javax.tools.JavaFileObject file
        start local 3 // com.sun.tools.javac.util.JCDiagnostic diag
        start local 4 // com.sun.tools.javac.util.JCDiagnostic$Factory diagFactory
         0: .line 778
            aload 0 /* this */
            aload 1 /* sym */
            aload 2 /* file */
            aload 3 /* diag */
            aload 4 /* diagFactory */
            invokestatic com.sun.tools.javac.code.ClassFinder$BadClassFile.createBadClassFileDiagnostic:(Ljavax/tools/JavaFileObject;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/util/JCDiagnostic$Factory;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokespecial com.sun.tools.javac.code.Symbol$CompletionFailure.<init>:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic;)V
         1: .line 779
            return
        end local 4 // com.sun.tools.javac.util.JCDiagnostic$Factory diagFactory
        end local 3 // com.sun.tools.javac.util.JCDiagnostic diag
        end local 2 // javax.tools.JavaFileObject file
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol sym
        end local 0 // com.sun.tools.javac.code.ClassFinder$BadClassFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/tools/javac/code/ClassFinder$BadClassFile;
            0    2     1          sym  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0    2     2         file  Ljavax/tools/JavaFileObject;
            0    2     3         diag  Lcom/sun/tools/javac/util/JCDiagnostic;
            0    2     4  diagFactory  Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
    MethodParameters:
             Name  Flags
      sym          
      file         
      diag         
      diagFactory  

  private static com.sun.tools.javac.util.JCDiagnostic createBadClassFileDiagnostic(javax.tools.JavaFileObject, com.sun.tools.javac.util.JCDiagnostic, com.sun.tools.javac.util.JCDiagnostic$Factory);
    descriptor: (Ljavax/tools/JavaFileObject;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/util/JCDiagnostic$Factory;)Lcom/sun/tools/javac/util/JCDiagnostic;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // javax.tools.JavaFileObject file
        start local 1 // com.sun.tools.javac.util.JCDiagnostic diag
        start local 2 // com.sun.tools.javac.util.JCDiagnostic$Factory diagFactory
         0: .line 783
            aload 0 /* file */
            invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            if_acmpne 2
         1: .line 784
            ldc "bad.source.file.header"
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc "bad.class.file.header"
         3: .line 783
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         4: .line 785
            aload 2 /* diagFactory */
            aload 3 /* key */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* file */
            aastore
            dup
            iconst_1
            aload 1 /* diag */
            aastore
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
            areturn
        end local 3 // java.lang.String key
        end local 2 // com.sun.tools.javac.util.JCDiagnostic$Factory diagFactory
        end local 1 // com.sun.tools.javac.util.JCDiagnostic diag
        end local 0 // javax.tools.JavaFileObject file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         file  Ljavax/tools/JavaFileObject;
            0    5     1         diag  Lcom/sun/tools/javac/util/JCDiagnostic;
            0    5     2  diagFactory  Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            4    5     3          key  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      file         
      diag         
      diagFactory  
}
SourceFile: "ClassFinder.java"
NestHost: com.sun.tools.javac.code.ClassFinder
InnerClasses:
  public BadClassFile = com.sun.tools.javac.code.ClassFinder$BadClassFile of com.sun.tools.javac.code.ClassFinder
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject