receiverDescriptor = new ComponentDescriptor(astType, null, receiverClassName);
} else {
PackageClass receiverClassName = buildPackageClass(astType, broadcastReceiverAnnotation.name());
TypeMirror type = getTypeMirror(broadcastReceiverAnnotation, "type");
ASTType receiverType = type == null || type.toString().equals("java.lang.Object") ? AndroidLiterals.BROADCAST_RECEIVER : type.accept(astTypeBuilderVisitor, null);
<BUG>InjectionNodeBuilderRepository injectionNodeBuilderRepository = componentAnalysis.setupInjectionNodeBuilderRepository(receiverType, BroadcastReceiver.class);
if(type != null) {</BUG>
ASTType applicationASTType = type.accept(astTypeBuilderVisitor, null);
while(!applicationASTType.equals(AndroidLiterals.BROADCAST_RECEIVER) && applicationASTType.inheritsFrom(AndroidLiterals.BROADCAST_RECEIVER)){
injectionNodeBuilderRepository.putType(applicationASTType, injectionBindingBuilder.buildThis(applicationASTType));

receiverDescriptor = new ComponentDescriptor(astType, null, receiverClassName);
} else {
PackageClass receiverClassName = buildPackageClass(astType, broadcastReceiverAnnotation.name());
TypeMirror type = getTypeMirror(broadcastReceiverAnnotation, "type");
ASTType receiverType = type == null || type.toString().equals("java.lang.Object") ? AndroidLiterals.BROADCAST_RECEIVER : type.accept(astTypeBuilderVisitor, null);
InjectionNodeBuilderRepository injectionNodeBuilderRepository = componentAnalysis.setupInjectionNodeBuilderRepository(receiverType, BroadcastReceiver.class);
ASTType applicationScopeType = astElementFactory.getType(ApplicationScope.ApplicationScopeQualifier.class);
ASTType applicationProvider = astElementFactory.getType(ApplicationScope.ApplicationProvider.class);
injectionNodeBuilderRepository.putType(AndroidLiterals.APPLICATION, providerInjectionNodeBuilder.builderProviderBuilder(applicationProvider));
injectionNodeBuilderRepository.putScoped(new InjectionSignature(AndroidLiterals.APPLICATION), applicationScopeType);
if(type != null) {
ASTType applicationASTType = type.accept(astTypeBuilderVisitor, null);
while(!applicationASTType.equals(AndroidLiterals.BROADCAST_RECEIVER) && applicationASTType.inheritsFrom(AndroidLiterals.BROADCAST_RECEIVER)){
injectionNodeBuilderRepository.putType(applicationASTType, injectionBindingBuilder.buildThis(applicationASTType));
