final class com.google.inject.internal.BoundProviderFactory<T> extends com.google.inject.internal.ProviderInternalFactory<T> implements com.google.inject.internal.CreationListener
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.inject.internal.BoundProviderFactory
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.InjectorImpl injector;
descriptor: Lcom/google/inject/internal/InjectorImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.google.inject.Key<? extends javax.inject.Provider<? extends T>> providerKey;
descriptor: Lcom/google/inject/Key;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/inject/Key<+Ljavax/inject/Provider<+TT;>;>;
private com.google.inject.internal.InternalFactory<? extends javax.inject.Provider<? extends T>> providerFactory;
descriptor: Lcom/google/inject/internal/InternalFactory;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/inject/internal/InternalFactory<+Ljavax/inject/Provider<+TT;>;>;
void <init>(com.google.inject.internal.InjectorImpl, com.google.inject.Key<? extends javax.inject.Provider<? extends T>>, , com.google.inject.internal.ProvisionListenerStackCallback<T>);
descriptor: (Lcom/google/inject/internal/InjectorImpl;Lcom/google/inject/Key;Ljava/lang/Object;Lcom/google/inject/internal/ProvisionListenerStackCallback;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
invokespecial com.google.inject.internal.ProviderInternalFactory.<init>:(Ljava/lang/Object;)V
1: aload 0
aload 4
putfield com.google.inject.internal.BoundProviderFactory.provisionCallback:Lcom/google/inject/internal/ProvisionListenerStackCallback;
2: aload 0
aload 1
putfield com.google.inject.internal.BoundProviderFactory.injector:Lcom/google/inject/internal/InjectorImpl;
3: aload 0
aload 2
putfield com.google.inject.internal.BoundProviderFactory.providerKey:Lcom/google/inject/Key;
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/inject/internal/BoundProviderFactory<TT;>;
0 5 1 injector Lcom/google/inject/internal/InjectorImpl;
0 5 2 providerKey Lcom/google/inject/Key<+Ljavax/inject/Provider<+TT;>;>;
0 5 3 source Ljava/lang/Object;
0 5 4 provisionCallback Lcom/google/inject/internal/ProvisionListenerStackCallback<TT;>;
Signature: (Lcom/google/inject/internal/InjectorImpl;Lcom/google/inject/Key<+Ljavax/inject/Provider<+TT;>;>;Ljava/lang/Object;Lcom/google/inject/internal/ProvisionListenerStackCallback<TT;>;)V
MethodParameters:
Name Flags
injector
providerKey
source
provisionCallback
public void notify(com.google.inject.internal.Errors);
descriptor: (Lcom/google/inject/internal/Errors;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
1: aload 0
getfield com.google.inject.internal.BoundProviderFactory.injector:Lcom/google/inject/internal/InjectorImpl;
2: aload 0
getfield com.google.inject.internal.BoundProviderFactory.providerKey:Lcom/google/inject/Key;
aload 1
aload 0
getfield com.google.inject.internal.BoundProviderFactory.source:Ljava/lang/Object;
invokevirtual com.google.inject.internal.Errors.withSource:(Ljava/lang/Object;)Lcom/google/inject/internal/Errors;
getstatic com.google.inject.internal.InjectorImpl$JitLimitation.NEW_OR_EXISTING_JIT:Lcom/google/inject/internal/InjectorImpl$JitLimitation;
3: invokevirtual com.google.inject.internal.InjectorImpl.getInternalFactory:(Lcom/google/inject/Key;Lcom/google/inject/internal/Errors;Lcom/google/inject/internal/InjectorImpl$JitLimitation;)Lcom/google/inject/internal/InternalFactory;
4: putfield com.google.inject.internal.BoundProviderFactory.providerFactory:Lcom/google/inject/internal/InternalFactory;
5: goto 8
StackMap locals:
StackMap stack: com.google.inject.internal.ErrorsException
6: astore 2
start local 2 7: aload 1
aload 2
invokevirtual com.google.inject.internal.ErrorsException.getErrors:()Lcom/google/inject/internal/Errors;
invokevirtual com.google.inject.internal.Errors.merge:(Lcom/google/inject/internal/Errors;)Lcom/google/inject/internal/Errors;
pop
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/inject/internal/BoundProviderFactory<TT;>;
0 9 1 errors Lcom/google/inject/internal/Errors;
7 8 2 e Lcom/google/inject/internal/ErrorsException;
Exception table:
from to target type
0 5 6 Class com.google.inject.internal.ErrorsException
MethodParameters:
Name Flags
errors
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=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield com.google.inject.internal.BoundProviderFactory.providerKey:Lcom/google/inject/Key;
aload 0
getfield com.google.inject.internal.BoundProviderFactory.source:Ljava/lang/Object;
invokevirtual com.google.inject.internal.InternalContext.pushState:(Lcom/google/inject/Key;Ljava/lang/Object;)V
1: aload 0
getfield com.google.inject.internal.BoundProviderFactory.providerFactory:Lcom/google/inject/internal/InternalFactory;
aload 1
aload 2
iconst_1
invokeinterface com.google.inject.internal.InternalFactory.get:(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Z)Ljava/lang/Object;
checkcast javax.inject.Provider
astore 4
start local 4 2: aload 0
aload 4
aload 1
aload 2
aload 0
getfield com.google.inject.internal.BoundProviderFactory.provisionCallback:Lcom/google/inject/internal/ProvisionListenerStackCallback;
invokevirtual com.google.inject.internal.BoundProviderFactory.circularGet:(Ljavax/inject/Provider;Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Lcom/google/inject/internal/ProvisionListenerStackCallback;)Ljava/lang/Object;
astore 6
3: aload 1
invokevirtual com.google.inject.internal.InternalContext.popState:()V
4: aload 6
areturn
end local 4 5: StackMap locals:
StackMap stack: com.google.inject.internal.InternalProvisionException
astore 4
start local 4 6: aload 4
aload 0
getfield com.google.inject.internal.BoundProviderFactory.providerKey:Lcom/google/inject/Key;
invokevirtual com.google.inject.internal.InternalProvisionException.addSource:(Ljava/lang/Object;)Lcom/google/inject/internal/InternalProvisionException;
athrow
end local 4 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
8: aload 1
invokevirtual com.google.inject.internal.InternalContext.popState:()V
9: aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/inject/internal/BoundProviderFactory<TT;>;
0 10 1 context Lcom/google/inject/internal/InternalContext;
0 10 2 dependency Lcom/google/inject/spi/Dependency<*>;
0 10 3 linked Z
2 5 4 provider Ljavax/inject/Provider<+TT;>;
6 7 4 ipe Lcom/google/inject/internal/InternalProvisionException;
Exception table:
from to target type
1 3 5 Class com.google.inject.internal.InternalProvisionException
1 3 7 any
5 7 7 any
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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
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: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 3: aload 4
invokestatic com.google.inject.internal.InternalProvisionException.errorInProvider:(Ljava/lang/Throwable;)Lcom/google/inject/internal/InternalProvisionException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/inject/internal/BoundProviderFactory<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 0: aload 0
getfield com.google.inject.internal.BoundProviderFactory.providerKey:Lcom/google/inject/Key;
invokevirtual com.google.inject.Key.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/inject/internal/BoundProviderFactory<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lcom/google/inject/internal/ProviderInternalFactory<TT;>;Lcom/google/inject/internal/CreationListener;
SourceFile: "BoundProviderFactory.java"
InnerClasses:
final JitLimitation = com.google.inject.internal.InjectorImpl$JitLimitation of com.google.inject.internal.InjectorImpl