final class com.google.inject.internal.InternalFactoryToInitializableAdapter<T> extends com.google.inject.internal.ProviderInternalFactory<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.inject.internal.InternalFactoryToInitializableAdapter
  super_class: com.google.inject.internal.ProviderInternalFactory
{
  private final com.google.inject.internal.ProvisionListenerStackCallback<T> provisionCallback;
    descriptor: Lcom/google/inject/internal/ProvisionListenerStackCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/inject/internal/ProvisionListenerStackCallback<TT;>;

  private final com.google.inject.internal.Initializable<? extends javax.inject.Provider<? extends T>> initializable;
    descriptor: Lcom/google/inject/internal/Initializable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/inject/internal/Initializable<+Ljavax/inject/Provider<+TT;>;>;

  public void <init>(com.google.inject.internal.Initializable<? extends javax.inject.Provider<? extends T>>, , com.google.inject.internal.ProvisionListenerStackCallback<T>);
    descriptor: (Lcom/google/inject/internal/Initializable;Ljava/lang/Object;Lcom/google/inject/internal/ProvisionListenerStackCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
        start local 1 // com.google.inject.internal.Initializable initializable
        start local 2 // java.lang.Object source
        start local 3 // com.google.inject.internal.ProvisionListenerStackCallback provisionCallback
         0: .line 39
            aload 0 /* this */
            aload 2 /* source */
            invokespecial com.google.inject.internal.ProviderInternalFactory.<init>:(Ljava/lang/Object;)V
         1: .line 40
            aload 0 /* this */
            aload 3 /* provisionCallback */
            putfield com.google.inject.internal.InternalFactoryToInitializableAdapter.provisionCallback:Lcom/google/inject/internal/ProvisionListenerStackCallback;
         2: .line 41
            aload 0 /* this */
            aload 1 /* initializable */
            ldc "provider"
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.inject.internal.Initializable
            putfield com.google.inject.internal.InternalFactoryToInitializableAdapter.initializable:Lcom/google/inject/internal/Initializable;
         3: .line 42
            return
        end local 3 // com.google.inject.internal.ProvisionListenerStackCallback provisionCallback
        end local 2 // java.lang.Object source
        end local 1 // com.google.inject.internal.Initializable initializable
        end local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/google/inject/internal/InternalFactoryToInitializableAdapter<TT;>;
            0    4     1      initializable  Lcom/google/inject/internal/Initializable<+Ljavax/inject/Provider<+TT;>;>;
            0    4     2             source  Ljava/lang/Object;
            0    4     3  provisionCallback  Lcom/google/inject/internal/ProvisionListenerStackCallback<TT;>;
    Signature: (Lcom/google/inject/internal/Initializable<+Ljavax/inject/Provider<+TT;>;>;Ljava/lang/Object;Lcom/google/inject/internal/ProvisionListenerStackCallback<TT;>;)V
    MethodParameters:
                   Name  Flags
      initializable      
      source             
      provisionCallback  

  public T get(com.google.inject.internal.InternalContext, com.google.inject.spi.Dependency<?>, );
    descriptor: (Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
        start local 1 // com.google.inject.internal.InternalContext context
        start local 2 // com.google.inject.spi.Dependency dependency
        start local 3 // boolean linked
         0: .line 47
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.inject.internal.InternalFactoryToInitializableAdapter.initializable:Lcom/google/inject/internal/Initializable;
            invokeinterface com.google.inject.internal.Initializable.get:()Ljava/lang/Object;
            checkcast javax.inject.Provider
            aload 1 /* context */
            aload 2 /* dependency */
            aload 0 /* this */
            getfield com.google.inject.internal.InternalFactoryToInitializableAdapter.provisionCallback:Lcom/google/inject/internal/ProvisionListenerStackCallback;
            invokevirtual com.google.inject.internal.InternalFactoryToInitializableAdapter.circularGet:(Ljavax/inject/Provider;Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Lcom/google/inject/internal/ProvisionListenerStackCallback;)Ljava/lang/Object;
            areturn
        end local 3 // boolean linked
        end local 2 // com.google.inject.spi.Dependency dependency
        end local 1 // com.google.inject.internal.InternalContext context
        end local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/google/inject/internal/InternalFactoryToInitializableAdapter<TT;>;
            0    1     1     context  Lcom/google/inject/internal/InternalContext;
            0    1     2  dependency  Lcom/google/inject/spi/Dependency<*>;
            0    1     3      linked  Z
    Exceptions:
      throws com.google.inject.internal.InternalProvisionException
    Signature: (Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency<*>;Z)TT;
    MethodParameters:
            Name  Flags
      context     
      dependency  
      linked      

  protected T provision(javax.inject.Provider<? extends T>, com.google.inject.spi.Dependency<?>, com.google.inject.internal.ConstructionContext<T>);
    descriptor: (Ljavax/inject/Provider;Lcom/google/inject/spi/Dependency;Lcom/google/inject/internal/ConstructionContext;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
        start local 1 // javax.inject.Provider provider
        start local 2 // com.google.inject.spi.Dependency dependency
        start local 3 // com.google.inject.internal.ConstructionContext constructionContext
         0: .line 57
            aload 0 /* this */
            aload 1 /* provider */
            aload 2 /* dependency */
            aload 3 /* constructionContext */
            invokespecial com.google.inject.internal.ProviderInternalFactory.provision:(Ljavax/inject/Provider;Lcom/google/inject/spi/Dependency;Lcom/google/inject/internal/ConstructionContext;)Ljava/lang/Object;
         1: areturn
         2: .line 58
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 4 /* userException */
        start local 4 // java.lang.RuntimeException userException
         3: .line 59
            aload 4 /* userException */
            invokestatic com.google.inject.internal.InternalProvisionException.errorInProvider:(Ljava/lang/Throwable;)Lcom/google/inject/internal/InternalProvisionException;
            aload 0 /* this */
            getfield com.google.inject.internal.InternalFactoryToInitializableAdapter.source:Ljava/lang/Object;
            invokevirtual com.google.inject.internal.InternalProvisionException.addSource:(Ljava/lang/Object;)Lcom/google/inject/internal/InternalProvisionException;
            athrow
        end local 4 // java.lang.RuntimeException userException
        end local 3 // com.google.inject.internal.ConstructionContext constructionContext
        end local 2 // com.google.inject.spi.Dependency dependency
        end local 1 // javax.inject.Provider provider
        end local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lcom/google/inject/internal/InternalFactoryToInitializableAdapter<TT;>;
            0    4     1             provider  Ljavax/inject/Provider<+TT;>;
            0    4     2           dependency  Lcom/google/inject/spi/Dependency<*>;
            0    4     3  constructionContext  Lcom/google/inject/internal/ConstructionContext<TT;>;
            3    4     4        userException  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    Exceptions:
      throws com.google.inject.internal.InternalProvisionException
    Signature: (Ljavax/inject/Provider<+TT;>;Lcom/google/inject/spi/Dependency<*>;Lcom/google/inject/internal/ConstructionContext<TT;>;)TT;
    MethodParameters:
                     Name  Flags
      provider             
      dependency           
      constructionContext  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
         0: .line 65
            aload 0 /* this */
            getfield com.google.inject.internal.InternalFactoryToInitializableAdapter.initializable:Lcom/google/inject/internal/Initializable;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.google.inject.internal.InternalFactoryToInitializableAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/inject/internal/InternalFactoryToInitializableAdapter<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lcom/google/inject/internal/ProviderInternalFactory<TT;>;
SourceFile: "InternalFactoryToInitializableAdapter.java"