public class com.sun.tools.javac.code.DeferredCompletionFailureHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.DeferredCompletionFailureHandler
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.DeferredCompletionFailureHandler> deferredCompletionFailureHandlerKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;>;

  public final com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler userCodeHandler;
    descriptor: Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler speculativeCodeHandler;
    descriptor: Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler javacCodeHandler;
    descriptor: Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler handler;
    descriptor: Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 55
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.javac.code.DeferredCompletionFailureHandler.deferredCompletionFailureHandlerKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.code.DeferredCompletionFailureHandler instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 58
            aload 0 /* context */
            getstatic com.sun.tools.javac.code.DeferredCompletionFailureHandler.deferredCompletionFailureHandlerKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.DeferredCompletionFailureHandler
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.code.DeferredCompletionFailureHandler instance
         1: .line 59
            aload 1 /* instance */
            ifnonnull 3
         2: .line 60
            new com.sun.tools.javac.code.DeferredCompletionFailureHandler
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.code.DeferredCompletionFailureHandler.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 61
      StackMap locals: com.sun.tools.javac.code.DeferredCompletionFailureHandler
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.code.DeferredCompletionFailureHandler instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 123
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            new com.sun.tools.javac.code.DeferredCompletionFailureHandler$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.DeferredCompletionFailureHandler$1.<init>:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;)V
            putfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.userCodeHandler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
         2: .line 89
            aload 0 /* this */
            new com.sun.tools.javac.code.DeferredCompletionFailureHandler$2
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.DeferredCompletionFailureHandler$2.<init>:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;)V
            putfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.speculativeCodeHandler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
         3: .line 109
            aload 0 /* this */
            new com.sun.tools.javac.code.DeferredCompletionFailureHandler$3
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.DeferredCompletionFailureHandler$3.<init>:(Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;)V
            putfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.javacCodeHandler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
         4: .line 121
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.javacCodeHandler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            putfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
         5: .line 124
            aload 1 /* context */
            getstatic com.sun.tools.javac.code.DeferredCompletionFailureHandler.deferredCompletionFailureHandlerKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         6: .line 125
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    7     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler setHandler(com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler);
    descriptor: (Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;)Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler h
         0: .line 128
            aload 1 /* h */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            if_acmpne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            areturn
         1: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            invokeinterface com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler.uninstall:()V
         2: .line 131
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            astore 2 /* prev */
        start local 2 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler prev
         3: .line 132
            aload 0 /* this */
            aload 1 /* h */
            putfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
         4: .line 133
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            invokeinterface com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler.install:()V
         5: .line 134
            aload 2 /* prev */
            areturn
        end local 2 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler prev
        end local 1 // com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler h
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    6     1     h  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            3    6     2  prev  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
    MethodParameters:
      Name  Flags
      h     

  public void handleAPICompletionFailure(com.sun.tools.javac.code.Symbol$CompletionFailure);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.code.Symbol$CompletionFailure cf
         0: .line 138
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            aload 1 /* cf */
            invokeinterface com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler.handleAPICompletionFailure:(Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)V
         1: .line 139
            return
        end local 1 // com.sun.tools.javac.code.Symbol$CompletionFailure cf
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    2     1    cf  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
    MethodParameters:
      Name  Flags
      cf    

  public void classSymbolCompleteFailed(com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.javac.code.Symbol$Completer);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$Completer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
        start local 2 // com.sun.tools.javac.code.Symbol$Completer origCompleter
         0: .line 142
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            aload 1 /* sym */
            aload 2 /* origCompleter */
            invokeinterface com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler.classSymbolCompleteFailed:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/code/Symbol$Completer;)V
         1: .line 143
            return
        end local 2 // com.sun.tools.javac.code.Symbol$Completer origCompleter
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    2     1            sym  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0    2     2  origCompleter  Lcom/sun/tools/javac/code/Symbol$Completer;
    MethodParameters:
               Name  Flags
      sym            
      origCompleter  

  public void classSymbolRemoved(com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
         0: .line 146
            aload 0 /* this */
            getfield com.sun.tools.javac.code.DeferredCompletionFailureHandler.handler:Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler$Handler;
            aload 1 /* sym */
            invokeinterface com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler.classSymbolRemoved:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
         1: .line 147
            return
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    2     1   sym  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
      Name  Flags
      sym   

  public boolean isDeferredCompleter(com.sun.tools.javac.code.Symbol$Completer);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$Completer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
        start local 1 // com.sun.tools.javac.code.Symbol$Completer c
         0: .line 150
            aload 1 /* c */
            instanceof com.sun.tools.javac.code.DeferredCompletionFailureHandler$DeferredCompleter
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$Completer c
        end local 0 // com.sun.tools.javac.code.DeferredCompletionFailureHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/DeferredCompletionFailureHandler;
            0    1     1     c  Lcom/sun/tools/javac/code/Symbol$Completer;
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "DeferredCompletionFailureHandler.java"
NestMembers:
  com.sun.tools.javac.code.DeferredCompletionFailureHandler$1  com.sun.tools.javac.code.DeferredCompletionFailureHandler$1$1  com.sun.tools.javac.code.DeferredCompletionFailureHandler$2  com.sun.tools.javac.code.DeferredCompletionFailureHandler$3  com.sun.tools.javac.code.DeferredCompletionFailureHandler$DeferredCompleter  com.sun.tools.javac.code.DeferredCompletionFailureHandler$FlipSymbolDescription  com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler
InnerClasses:
  com.sun.tools.javac.code.DeferredCompletionFailureHandler$1
  com.sun.tools.javac.code.DeferredCompletionFailureHandler$2
  com.sun.tools.javac.code.DeferredCompletionFailureHandler$3
  private DeferredCompleter = com.sun.tools.javac.code.DeferredCompletionFailureHandler$DeferredCompleter of com.sun.tools.javac.code.DeferredCompletionFailureHandler
  private FlipSymbolDescription = com.sun.tools.javac.code.DeferredCompletionFailureHandler$FlipSymbolDescription of com.sun.tools.javac.code.DeferredCompletionFailureHandler
  public abstract Handler = com.sun.tools.javac.code.DeferredCompletionFailureHandler$Handler of com.sun.tools.javac.code.DeferredCompletionFailureHandler
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context