public final class io.reactivex.internal.operators.flowable.FlowableBlockingSubscribe
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableBlockingSubscribe
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.lang.IllegalStateException
dup
ldc "No instances!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/internal/operators/flowable/FlowableBlockingSubscribe;
public static <T> void subscribe(org.reactivestreams.Publisher<? extends T>, org.reactivestreams.Subscriber<? super T>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/reactivestreams/Subscriber;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
astore 2
start local 2 1: new io.reactivex.internal.subscribers.BlockingSubscriber
dup
aload 2
invokespecial io.reactivex.internal.subscribers.BlockingSubscriber.<init>:(Ljava/util/Queue;)V
astore 3
start local 3 2: aload 0
aload 3
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
3: StackMap locals: java.util.concurrent.BlockingQueue io.reactivex.internal.subscribers.BlockingSubscriber
StackMap stack:
aload 3
invokevirtual io.reactivex.internal.subscribers.BlockingSubscriber.isCancelled:()Z
ifeq 5
4: goto 19
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.concurrent.BlockingQueue.poll:()Ljava/lang/Object;
astore 4
start local 4 6: aload 4
ifnonnull 11
7: aload 3
invokevirtual io.reactivex.internal.subscribers.BlockingSubscriber.isCancelled:()Z
ifeq 9
8: goto 19
9: StackMap locals: java.lang.Object
StackMap stack:
invokestatic io.reactivex.internal.util.BlockingHelper.verifyNonBlocking:()V
10: aload 2
invokeinterface java.util.concurrent.BlockingQueue.take:()Ljava/lang/Object;
astore 4
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.reactivex.internal.subscribers.BlockingSubscriber.isCancelled:()Z
ifeq 13
12: goto 19
13: StackMap locals:
StackMap stack:
aload 4
getstatic io.reactivex.internal.subscribers.BlockingSubscriber.TERMINATED:Ljava/lang/Object;
if_acmpeq 19
14: aload 4
aload 1
invokestatic io.reactivex.internal.util.NotificationLite.acceptFull:(Ljava/lang/Object;Lorg/reactivestreams/Subscriber;)Z
ifeq 3
end local 4 15: goto 19
StackMap locals: org.reactivestreams.Publisher org.reactivestreams.Subscriber java.util.concurrent.BlockingQueue io.reactivex.internal.subscribers.BlockingSubscriber
StackMap stack: java.lang.InterruptedException
16: astore 4
start local 4 17: aload 3
invokevirtual io.reactivex.internal.subscribers.BlockingSubscriber.cancel:()V
18: aload 1
aload 4
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
end local 4 19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 o Lorg/reactivestreams/Publisher<+TT;>;
0 20 1 subscriber Lorg/reactivestreams/Subscriber<-TT;>;
1 20 2 queue Ljava/util/concurrent/BlockingQueue<Ljava/lang/Object;>;
2 20 3 bs Lio/reactivex/internal/subscribers/BlockingSubscriber<TT;>;
6 15 4 v Ljava/lang/Object;
17 19 4 e Ljava/lang/InterruptedException;
Exception table:
from to target type
3 15 16 Class java.lang.InterruptedException
Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;Lorg/reactivestreams/Subscriber<-TT;>;)V
MethodParameters:
Name Flags
o
subscriber
public static <T> void subscribe(org.reactivestreams.Publisher<? extends T>);
descriptor: (Lorg/reactivestreams/Publisher;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: new io.reactivex.internal.util.BlockingIgnoringReceiver
dup
invokespecial io.reactivex.internal.util.BlockingIgnoringReceiver.<init>:()V
astore 1
start local 1 1: new io.reactivex.internal.subscribers.LambdaSubscriber
dup
invokestatic io.reactivex.internal.functions.Functions.emptyConsumer:()Lio/reactivex/functions/Consumer;
2: aload 1
aload 1
getstatic io.reactivex.internal.functions.Functions.REQUEST_MAX:Lio/reactivex/functions/Consumer;
3: invokespecial io.reactivex.internal.subscribers.LambdaSubscriber.<init>:(Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;Lio/reactivex/functions/Consumer;)V
astore 2
start local 2 4: aload 0
aload 2
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
5: aload 1
aload 2
invokestatic io.reactivex.internal.util.BlockingHelper.awaitForComplete:(Ljava/util/concurrent/CountDownLatch;Lio/reactivex/disposables/Disposable;)V
6: aload 1
getfield io.reactivex.internal.util.BlockingIgnoringReceiver.error:Ljava/lang/Throwable;
astore 3
start local 3 7: aload 3
ifnull 9
8: aload 3
invokestatic io.reactivex.internal.util.ExceptionHelper.wrapOrThrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
9: StackMap locals: io.reactivex.internal.util.BlockingIgnoringReceiver io.reactivex.internal.subscribers.LambdaSubscriber java.lang.Throwable
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 o Lorg/reactivestreams/Publisher<+TT;>;
1 10 1 callback Lio/reactivex/internal/util/BlockingIgnoringReceiver;
4 10 2 ls Lio/reactivex/internal/subscribers/LambdaSubscriber<TT;>;
7 10 3 e Ljava/lang/Throwable;
Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;)V
MethodParameters:
Name Flags
o
public static <T> void subscribe(org.reactivestreams.Publisher<? extends T>, io.reactivex.functions.Consumer<? super T>, io.reactivex.functions.Consumer<? super java.lang.Throwable>, io.reactivex.functions.Action);
descriptor: (Lorg/reactivestreams/Publisher;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "onNext is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "onError is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 3
ldc "onComplete is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
new io.reactivex.internal.subscribers.LambdaSubscriber
dup
aload 1
aload 2
aload 3
getstatic io.reactivex.internal.functions.Functions.REQUEST_MAX:Lio/reactivex/functions/Consumer;
invokespecial io.reactivex.internal.subscribers.LambdaSubscriber.<init>:(Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;Lio/reactivex/functions/Consumer;)V
invokestatic io.reactivex.internal.operators.flowable.FlowableBlockingSubscribe.subscribe:(Lorg/reactivestreams/Publisher;Lorg/reactivestreams/Subscriber;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 o Lorg/reactivestreams/Publisher<+TT;>;
0 5 1 onNext Lio/reactivex/functions/Consumer<-TT;>;
0 5 2 onError Lio/reactivex/functions/Consumer<-Ljava/lang/Throwable;>;
0 5 3 onComplete Lio/reactivex/functions/Action;
Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;Lio/reactivex/functions/Consumer<-TT;>;Lio/reactivex/functions/Consumer<-Ljava/lang/Throwable;>;Lio/reactivex/functions/Action;)V
MethodParameters:
Name Flags
o
onNext final
onError final
onComplete final
public static <T> void subscribe(org.reactivestreams.Publisher<? extends T>, io.reactivex.functions.Consumer<? super T>, io.reactivex.functions.Consumer<? super java.lang.Throwable>, io.reactivex.functions.Action, );
descriptor: (Lorg/reactivestreams/Publisher;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ldc "onNext is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "onError is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 3
ldc "onComplete is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: iload 4
ldc "number > 0 required"
invokestatic io.reactivex.internal.functions.ObjectHelper.verifyPositive:(ILjava/lang/String;)I
pop
4: aload 0
new io.reactivex.internal.subscribers.BoundedSubscriber
dup
aload 1
aload 2
aload 3
iload 4
invokestatic io.reactivex.internal.functions.Functions.boundedConsumer:(I)Lio/reactivex/functions/Consumer;
5: iload 4
invokespecial io.reactivex.internal.subscribers.BoundedSubscriber.<init>:(Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Action;Lio/reactivex/functions/Consumer;I)V
6: invokestatic io.reactivex.internal.operators.flowable.FlowableBlockingSubscribe.subscribe:(Lorg/reactivestreams/Publisher;Lorg/reactivestreams/Subscriber;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 o Lorg/reactivestreams/Publisher<+TT;>;
0 8 1 onNext Lio/reactivex/functions/Consumer<-TT;>;
0 8 2 onError Lio/reactivex/functions/Consumer<-Ljava/lang/Throwable;>;
0 8 3 onComplete Lio/reactivex/functions/Action;
0 8 4 bufferSize I
Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;Lio/reactivex/functions/Consumer<-TT;>;Lio/reactivex/functions/Consumer<-Ljava/lang/Throwable;>;Lio/reactivex/functions/Action;I)V
MethodParameters:
Name Flags
o
onNext final
onError final
onComplete final
bufferSize
}
SourceFile: "FlowableBlockingSubscribe.java"