public class io.reactivex.subscribers.TestSubscriber<T> extends io.reactivex.observers.BaseTestConsumer<T, io.reactivex.subscribers.TestSubscriber<T>> implements io.reactivex.FlowableSubscriber<T>, org.reactivestreams.Subscription, io.reactivex.disposables.Disposable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.reactivex.subscribers.TestSubscriber
super_class: io.reactivex.observers.BaseTestConsumer
{
private final org.reactivestreams.Subscriber<? super T> downstream;
descriptor: Lorg/reactivestreams/Subscriber;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/reactivestreams/Subscriber<-TT;>;
private volatile boolean cancelled;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription> upstream;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
private final java.util.concurrent.atomic.AtomicLong missedRequested;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.reactivex.internal.fuseable.QueueSubscription<T> qs;
descriptor: Lio/reactivex/internal/fuseable/QueueSubscription;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/reactivex/internal/fuseable/QueueSubscription<TT;>;
public static <T> io.reactivex.subscribers.TestSubscriber<T> create();
descriptor: ()Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.reactivex.subscribers.TestSubscriber
dup
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <T:Ljava/lang/Object;>()Lio/reactivex/subscribers/TestSubscriber<TT;>;
public static <T> io.reactivex.subscribers.TestSubscriber<T> create(long);
descriptor: (J)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new io.reactivex.subscribers.TestSubscriber
dup
lload 0
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 initialRequested J
Signature: <T:Ljava/lang/Object;>(J)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
initialRequested
public static <T> io.reactivex.subscribers.TestSubscriber<T> create(org.reactivestreams.Subscriber<? super T>);
descriptor: (Lorg/reactivestreams/Subscriber;)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.reactivex.subscribers.TestSubscriber
dup
aload 0
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:(Lorg/reactivestreams/Subscriber;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 delegate Lorg/reactivestreams/Subscriber<-TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/reactivestreams/Subscriber<-TT;>;)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
delegate
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.reactivex.subscribers.TestSubscriber$EmptySubscriber.INSTANCE:Lio/reactivex/subscribers/TestSubscriber$EmptySubscriber;
ldc 9223372036854775807
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:(Lorg/reactivestreams/Subscriber;J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getstatic io.reactivex.subscribers.TestSubscriber$EmptySubscriber.INSTANCE:Lio/reactivex/subscribers/TestSubscriber$EmptySubscriber;
lload 1
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:(Lorg/reactivestreams/Subscriber;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 2 1 initialRequest J
MethodParameters:
Name Flags
initialRequest
public void <init>(org.reactivestreams.Subscriber<? super T>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 9223372036854775807
invokespecial io.reactivex.subscribers.TestSubscriber.<init>:(Lorg/reactivestreams/Subscriber;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 2 1 downstream Lorg/reactivestreams/Subscriber<-TT;>;
Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
MethodParameters:
Name Flags
downstream
public void <init>(org.reactivestreams.Subscriber<? super T>, );
descriptor: (Lorg/reactivestreams/Subscriber;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.reactivex.observers.BaseTestConsumer.<init>:()V
1: lload 2
lconst_0
lcmp
ifge 3
2: new java.lang.IllegalArgumentException
dup
ldc "Negative initial request not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: io.reactivex.subscribers.TestSubscriber org.reactivestreams.Subscriber long
StackMap stack:
aload 0
aload 1
putfield io.reactivex.subscribers.TestSubscriber.downstream:Lorg/reactivestreams/Subscriber;
4: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
5: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lload 2
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield io.reactivex.subscribers.TestSubscriber.missedRequested:Ljava/util/concurrent/atomic/AtomicLong;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 7 1 actual Lorg/reactivestreams/Subscriber<-TT;>;
0 7 2 initialRequest J
Signature: (Lorg/reactivestreams/Subscriber<-TT;>;J)V
MethodParameters:
Name Flags
actual
initialRequest
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.reactivex.subscribers.TestSubscriber.lastThread:Ljava/lang/Thread;
1: aload 1
ifnonnull 4
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.NullPointerException
dup
ldc "onSubscribe received a null Subscription"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 9
5: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpeq 8
7: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "onSubscribe received multiple subscriptions: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.initialFusionMode:I
ifeq 26
10: aload 1
instanceof io.reactivex.internal.fuseable.QueueSubscription
ifeq 26
11: aload 0
aload 1
checkcast io.reactivex.internal.fuseable.QueueSubscription
putfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
12: aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
aload 0
getfield io.reactivex.subscribers.TestSubscriber.initialFusionMode:I
invokeinterface io.reactivex.internal.fuseable.QueueSubscription.requestFusion:(I)I
istore 2
start local 2 13: aload 0
iload 2
putfield io.reactivex.subscribers.TestSubscriber.establishedFusionMode:I
14: iload 2
iconst_1
if_icmpne 26
15: aload 0
iconst_1
putfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
16: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.reactivex.subscribers.TestSubscriber.lastThread:Ljava/lang/Thread;
17: goto 19
start local 3 18: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.values:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 19: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
invokeinterface io.reactivex.internal.fuseable.QueueSubscription.poll:()Ljava/lang/Object;
dup
astore 3
start local 3 20: ifnonnull 18
21: aload 0
dup
getfield io.reactivex.subscribers.TestSubscriber.completions:J
lconst_1
ladd
putfield io.reactivex.subscribers.TestSubscriber.completions:J
end local 3 22: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 3
start local 3 24: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 25: StackMap locals:
StackMap stack:
return
end local 2 26: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.downstream:Lorg/reactivestreams/Subscriber;
aload 1
invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
27: aload 0
getfield io.reactivex.subscribers.TestSubscriber.missedRequested:Ljava/util/concurrent/atomic/AtomicLong;
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndSet:(J)J
lstore 2
start local 2 28: lload 2
lconst_0
lcmp
ifeq 30
29: aload 1
lload 2
invokeinterface org.reactivestreams.Subscription.request:(J)V
30: StackMap locals: long
StackMap stack:
aload 0
invokevirtual io.reactivex.subscribers.TestSubscriber.onStart:()V
31: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 32 1 s Lorg/reactivestreams/Subscription;
13 26 2 m I
18 19 3 t TT;
20 22 3 t TT;
24 25 3 ex Ljava/lang/Throwable;
28 32 2 mr J
Exception table:
from to target type
17 22 23 Class java.lang.Throwable
MethodParameters:
Name Flags
s
protected void onStart();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
ifne 4
1: aload 0
iconst_1
putfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 4
3: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.IllegalStateException
dup
ldc "onSubscribe not called in proper order"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.reactivex.subscribers.TestSubscriber.lastThread:Ljava/lang/Thread;
5: aload 0
getfield io.reactivex.subscribers.TestSubscriber.establishedFusionMode:I
iconst_2
if_icmpne 14
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.values:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
invokeinterface io.reactivex.internal.fuseable.QueueSubscription.poll:()Ljava/lang/Object;
dup
astore 1
ifnonnull 7
9: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
start local 2 11: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
invokeinterface io.reactivex.internal.fuseable.QueueSubscription.cancel:()V
end local 2 13: StackMap locals:
StackMap stack:
return
14: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.values:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 1
ifnonnull 17
16: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.NullPointerException
dup
ldc "onNext received a null value"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.downstream:Lorg/reactivestreams/Subscriber;
aload 1
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 19 1 t TT;
11 13 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
6 9 10 Class java.lang.Throwable
Signature: (TT;)V
MethodParameters:
Name Flags
t
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
ifne 4
1: aload 0
iconst_1
putfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 4
3: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.NullPointerException
dup
ldc "onSubscribe not called in proper order"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.reactivex.subscribers.TestSubscriber.lastThread:Ljava/lang/Thread;
5: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 1
ifnonnull 8
7: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.IllegalStateException
dup
ldc "onError received a null Throwable"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.downstream:Lorg/reactivestreams/Subscriber;
aload 1
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
9: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
11: aload 0
getfield io.reactivex.subscribers.TestSubscriber.done:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.done:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 15 1 t Ljava/lang/Throwable;
Exception table:
from to target type
4 10 10 any
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
ifne 4
1: aload 0
iconst_1
putfield io.reactivex.subscribers.TestSubscriber.checkSubscriptionOnce:Z
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 4
3: aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
new java.lang.IllegalStateException
dup
ldc "onSubscribe not called in proper order"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.reactivex.subscribers.TestSubscriber.lastThread:Ljava/lang/Thread;
5: aload 0
dup
getfield io.reactivex.subscribers.TestSubscriber.completions:J
lconst_1
ladd
putfield io.reactivex.subscribers.TestSubscriber.completions:J
6: aload 0
getfield io.reactivex.subscribers.TestSubscriber.downstream:Lorg/reactivestreams/Subscriber;
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 1
9: aload 0
getfield io.reactivex.subscribers.TestSubscriber.done:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
10: aload 1
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.done:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
Exception table:
from to target type
4 8 8 any
public final void request(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
getfield io.reactivex.subscribers.TestSubscriber.missedRequested:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.deferredRequest:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicLong;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 2 1 n J
MethodParameters:
Name Flags
n
public final void cancel();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.cancelled:Z
ifne 3
1: aload 0
iconst_1
putfield io.reactivex.subscribers.TestSubscriber.cancelled:Z
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.cancel:(Ljava/util/concurrent/atomic/AtomicReference;)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final boolean isCancelled();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.cancelled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final void dispose();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.subscribers.TestSubscriber.cancel:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final boolean isDisposed();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.cancelled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final boolean hasSubscription();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final io.reactivex.subscribers.TestSubscriber<T> assertSubscribed();
descriptor: ()Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 2
1: aload 0
ldc "Not subscribed!"
invokevirtual io.reactivex.subscribers.TestSubscriber.fail:(Ljava/lang/String;)Ljava/lang/AssertionError;
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
Signature: ()Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final io.reactivex.subscribers.TestSubscriber<T> assertNotSubscribed();
descriptor: ()Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.upstream:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 2
1: aload 0
ldc "Subscribed!"
invokevirtual io.reactivex.subscribers.TestSubscriber.fail:(Ljava/lang/String;)Ljava/lang/AssertionError;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.subscribers.TestSubscriber.errors:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 4
3: aload 0
ldc "Not subscribed but errors found"
invokevirtual io.reactivex.subscribers.TestSubscriber.fail:(Ljava/lang/String;)Ljava/lang/AssertionError;
athrow
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
Signature: ()Lio/reactivex/subscribers/TestSubscriber<TT;>;
final io.reactivex.subscribers.TestSubscriber<T> setInitialFusionMode(int);
descriptor: (I)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.reactivex.subscribers.TestSubscriber.initialFusionMode:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 2 1 mode I
Signature: (I)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
mode
final io.reactivex.subscribers.TestSubscriber<T> assertFusionMode(int);
descriptor: (I)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.establishedFusionMode:I
istore 2
start local 2 1: iload 2
iload 1
if_icmpeq 7
2: aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
ifnull 6
3: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Fusion mode different. Expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic io.reactivex.subscribers.TestSubscriber.fusionModeToString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc ", actual: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokestatic io.reactivex.subscribers.TestSubscriber.fusionModeToString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
ldc "Upstream is not fuseable"
invokevirtual io.reactivex.subscribers.TestSubscriber.fail:(Ljava/lang/String;)Ljava/lang/AssertionError;
athrow
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 8 1 mode I
1 8 2 m I
Signature: (I)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
mode
static java.lang.String fusionModeToString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 2
0: 1
1: 2
2: 3
default: 4
}
1: StackMap locals:
StackMap stack:
ldc "NONE"
areturn
2: StackMap locals:
StackMap stack:
ldc "SYNC"
areturn
3: StackMap locals:
StackMap stack:
ldc "ASYNC"
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 mode I
MethodParameters:
Name Flags
mode
final io.reactivex.subscribers.TestSubscriber<T> assertFuseable();
descriptor: ()Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
ifnonnull 2
1: new java.lang.AssertionError
dup
ldc "Upstream is not fuseable."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
Signature: ()Lio/reactivex/subscribers/TestSubscriber<TT;>;
final io.reactivex.subscribers.TestSubscriber<T> assertNotFuseable();
descriptor: ()Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.subscribers.TestSubscriber.qs:Lio/reactivex/internal/fuseable/QueueSubscription;
ifnull 2
1: new java.lang.AssertionError
dup
ldc "Upstream is fuseable."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
Signature: ()Lio/reactivex/subscribers/TestSubscriber<TT;>;
public final io.reactivex.subscribers.TestSubscriber<T> assertOf(io.reactivex.functions.Consumer<? super io.reactivex.subscribers.TestSubscriber<T>>);
descriptor: (Lio/reactivex/functions/Consumer;)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface io.reactivex.functions.Consumer.accept:(Ljava/lang/Object;)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 2
start local 2 3: aload 2
invokestatic io.reactivex.internal.util.ExceptionHelper.wrapOrThrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 5 1 check Lio/reactivex/functions/Consumer<-Lio/reactivex/subscribers/TestSubscriber<TT;>;>;
3 4 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Lio/reactivex/functions/Consumer<-Lio/reactivex/subscribers/TestSubscriber<TT;>;>;)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
check
public final io.reactivex.subscribers.TestSubscriber<T> requestMore(long);
descriptor: (J)Lio/reactivex/subscribers/TestSubscriber;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual io.reactivex.subscribers.TestSubscriber.request:(J)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/subscribers/TestSubscriber<TT;>;
0 2 1 n J
Signature: (J)Lio/reactivex/subscribers/TestSubscriber<TT;>;
MethodParameters:
Name Flags
n
public io.reactivex.observers.BaseTestConsumer assertNotSubscribed();
descriptor: ()Lio/reactivex/observers/BaseTestConsumer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.reactivex.subscribers.TestSubscriber.assertNotSubscribed:()Lio/reactivex/subscribers/TestSubscriber;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.reactivex.observers.BaseTestConsumer assertSubscribed();
descriptor: ()Lio/reactivex/observers/BaseTestConsumer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.reactivex.subscribers.TestSubscriber.assertSubscribed:()Lio/reactivex/subscribers/TestSubscriber;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/observers/BaseTestConsumer<TT;Lio/reactivex/subscribers/TestSubscriber<TT;>;>;Lio/reactivex/FlowableSubscriber<TT;>;Lorg/reactivestreams/Subscription;Lio/reactivex/disposables/Disposable;
SourceFile: "TestSubscriber.java"
NestMembers:
io.reactivex.subscribers.TestSubscriber$EmptySubscriber
InnerClasses:
final EmptySubscriber = io.reactivex.subscribers.TestSubscriber$EmptySubscriber of io.reactivex.subscribers.TestSubscriber