final class io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription<T> extends io.reactivex.internal.operators.flowable.FlowableFromArray$BaseArraySubscription<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription
super_class: io.reactivex.internal.operators.flowable.FlowableFromArray$BaseArraySubscription
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2587302975077663557
final org.reactivestreams.Subscriber<? super T> downstream;
descriptor: Lorg/reactivestreams/Subscriber;
flags: (0x0010) ACC_FINAL
Signature: Lorg/reactivestreams/Subscriber<-TT;>;
void <init>(org.reactivestreams.Subscriber<? super T>, );
descriptor: (Lorg/reactivestreams/Subscriber;[Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial io.reactivex.internal.operators.flowable.FlowableFromArray$BaseArraySubscription.<init>:([Ljava/lang/Object;)V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.downstream:Lorg/reactivestreams/Subscriber;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/flowable/FlowableFromArray$ArraySubscription<TT;>;
0 3 1 actual Lorg/reactivestreams/Subscriber<-TT;>;
0 3 2 array [Ljava/lang/Object;
Signature: (Lorg/reactivestreams/Subscriber<-TT;>;[TT;)V
MethodParameters:
Name Flags
actual
array
void fastPath();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.array:[Ljava/lang/Object;
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.downstream:Lorg/reactivestreams/Subscriber;
astore 3
start local 3 3: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.index:I
istore 4
start local 4 4: goto 13
5: StackMap locals: io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription java.lang.Object[] int org.reactivestreams.Subscriber int
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.cancelled:Z
ifeq 7
6: return
7: StackMap locals:
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 8: aload 5
ifnonnull 11
9: aload 3
new java.lang.NullPointerException
dup
new java.lang.StringBuilder
dup
ldc "The element at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
10: return
11: StackMap locals: java.lang.Object
StackMap stack:
aload 3
aload 5
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
end local 5 12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 2
if_icmpne 5
end local 4 14: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.cancelled:Z
ifeq 16
15: return
16: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/reactivex/internal/operators/flowable/FlowableFromArray$ArraySubscription<TT;>;
1 18 1 arr [Ljava/lang/Object;
2 18 2 f I
3 18 3 a Lorg/reactivestreams/Subscriber<-TT;>;
4 14 4 i I
8 12 5 t TT;
void slowPath(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: lconst_0
lstore 3
start local 3 1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.array:[Ljava/lang/Object;
astore 5
start local 5 2: aload 5
arraylength
istore 6
start local 6 3: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.index:I
istore 7
start local 7 4: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.downstream:Lorg/reactivestreams/Subscriber;
astore 8
start local 8 5: goto 15
6: StackMap locals: io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription long long java.lang.Object[] int int org.reactivestreams.Subscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.cancelled:Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 5
iload 7
aaload
astore 9
start local 9 9: aload 9
ifnonnull 12
10: aload 8
new java.lang.NullPointerException
dup
new java.lang.StringBuilder
dup
ldc "The element at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
11: return
12: StackMap locals: java.lang.Object
StackMap stack:
aload 8
aload 9
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
13: lload 3
lconst_1
ladd
lstore 3
14: iinc 7 1
end local 9 15: StackMap locals:
StackMap stack:
lload 3
lload 1
lcmp
ifeq 16
iload 7
iload 6
if_icmpne 6
16: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmpne 20
17: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.cancelled:Z
ifne 19
18: aload 8
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
19: StackMap locals:
StackMap stack:
return
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.get:()J
lstore 1
21: lload 3
lload 1
lcmp
ifne 27
22: aload 0
iload 7
putfield io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.index:I
23: aload 0
lload 3
lneg
invokevirtual io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription.addAndGet:(J)J
lstore 1
24: lload 1
lconst_0
lcmp
ifne 26
25: return
26: StackMap locals:
StackMap stack:
lconst_0
lstore 3
27: StackMap locals:
StackMap stack:
goto 15
end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/reactivex/internal/operators/flowable/FlowableFromArray$ArraySubscription<TT;>;
0 28 1 r J
1 28 3 e J
2 28 5 arr [Ljava/lang/Object;
3 28 6 f I
4 28 7 i I
5 28 8 a Lorg/reactivestreams/Subscriber<-TT;>;
9 15 9 t TT;
MethodParameters:
Name Flags
r
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/FlowableFromArray$BaseArraySubscription<TT;>;
SourceFile: "FlowableFromArray.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableFromArray
InnerClasses:
final ArraySubscription = io.reactivex.internal.operators.flowable.FlowableFromArray$ArraySubscription of io.reactivex.internal.operators.flowable.FlowableFromArray
abstract BaseArraySubscription = io.reactivex.internal.operators.flowable.FlowableFromArray$BaseArraySubscription of io.reactivex.internal.operators.flowable.FlowableFromArray