public final class io.reactivex.internal.subscriptions.SubscriptionHelper extends java.lang.Enum<io.reactivex.internal.subscriptions.SubscriptionHelper> implements org.reactivestreams.Subscription
minor version: 0
major version: 59
flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
this_class: io.reactivex.internal.subscriptions.SubscriptionHelper
super_class: java.lang.Enum
{
public static final io.reactivex.internal.subscriptions.SubscriptionHelper CANCELLED;
descriptor: Lio/reactivex/internal/subscriptions/SubscriptionHelper;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
private static final io.reactivex.internal.subscriptions.SubscriptionHelper[] ENUM$VALUES;
descriptor: [Lio/reactivex/internal/subscriptions/SubscriptionHelper;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new io.reactivex.internal.subscriptions.SubscriptionHelper
dup
ldc "CANCELLED"
iconst_0
invokespecial io.reactivex.internal.subscriptions.SubscriptionHelper.<init>:(Ljava/lang/String;I)V
1: putstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
2: iconst_1
anewarray io.reactivex.internal.subscriptions.SubscriptionHelper
dup
iconst_0
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
aastore
putstatic io.reactivex.internal.subscriptions.SubscriptionHelper.ENUM$VALUES:[Lio/reactivex/internal/subscriptions/SubscriptionHelper;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/subscriptions/SubscriptionHelper;
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/subscriptions/SubscriptionHelper;
0 1 1 n J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/internal/subscriptions/SubscriptionHelper;
public static boolean validate(org.reactivestreams.Subscription, org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: new java.lang.NullPointerException
dup
ldc "next is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
ifnull 7
4: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
5: invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.reportSubscriptionSet:()V
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 current Lorg/reactivestreams/Subscription;
0 8 1 next Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
current
next
public static void reportSubscriptionSet();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new io.reactivex.exceptions.ProtocolViolationException
dup
ldc "Subscription already set!"
invokespecial io.reactivex.exceptions.ProtocolViolationException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static boolean validate(long);
descriptor: (J)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifgt 3
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "n > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n J
MethodParameters:
Name Flags
n
public static void reportMoreProduced(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new io.reactivex.exceptions.ProtocolViolationException
dup
new java.lang.StringBuilder
dup
ldc "More produced than requested: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.reactivex.exceptions.ProtocolViolationException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 n J
MethodParameters:
Name Flags
n
public static boolean set(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, org.reactivestreams.Subscription);
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 2
start local 2 1: aload 2
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpne 5
2: aload 1
ifnull 4
3: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
6: aload 2
ifnull 8
7: aload 2
invokeinterface org.reactivestreams.Subscription.cancel:()V
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 9 1 s Lorg/reactivestreams/Subscription;
1 9 2 current Lorg/reactivestreams/Subscription;
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Lorg/reactivestreams/Subscription;)Z
MethodParameters:
Name Flags
field
s
public static boolean setOnce(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, org.reactivestreams.Subscription);
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "s is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 6
2: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
3: aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpeq 5
4: invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.reportSubscriptionSet:()V
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 7 1 s Lorg/reactivestreams/Subscription;
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Lorg/reactivestreams/Subscription;)Z
MethodParameters:
Name Flags
field
s
public static boolean replace(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, org.reactivestreams.Subscription);
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 2
start local 2 1: aload 2
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpne 5
2: aload 1
ifnull 4
3: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
6: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 7 1 s Lorg/reactivestreams/Subscription;
1 7 2 current Lorg/reactivestreams/Subscription;
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Lorg/reactivestreams/Subscription;)Z
MethodParameters:
Name Flags
field
s
public static boolean cancel(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>);
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 1
start local 1 1: aload 1
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpeq 7
2: aload 0
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 1
3: aload 1
getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.CANCELLED:Lio/reactivex/internal/subscriptions/SubscriptionHelper;
if_acmpeq 7
4: aload 1
ifnull 6
5: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
1 8 1 current Lorg/reactivestreams/Subscription;
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;)Z
MethodParameters:
Name Flags
field
public static boolean deferredSetOnce(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, java.util.concurrent.atomic.AtomicLong, org.reactivestreams.Subscription);
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicLong;Lorg/reactivestreams/Subscription;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.setOnce:(Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
ifeq 5
1: aload 1
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndSet:(J)J
lstore 3
start local 3 2: lload 3
lconst_0
lcmp
ifeq 4
3: aload 2
lload 3
invokeinterface org.reactivestreams.Subscription.request:(J)V
4: StackMap locals: long
StackMap stack:
iconst_1
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 6 1 requested Ljava/util/concurrent/atomic/AtomicLong;
0 6 2 s Lorg/reactivestreams/Subscription;
2 5 3 r J
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Ljava/util/concurrent/atomic/AtomicLong;Lorg/reactivestreams/Subscription;)Z
MethodParameters:
Name Flags
field
requested
s
public static void deferredRequest(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, java.util.concurrent.atomic.AtomicLong, );
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicLong;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 4
start local 4 1: aload 4
ifnull 4
2: aload 4
lload 2
invokeinterface org.reactivestreams.Subscription.request:(J)V
3: goto 11
4: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
lload 2
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.validate:(J)Z
ifeq 11
5: aload 1
lload 2
invokestatic io.reactivex.internal.util.BackpressureHelper.add:(Ljava/util/concurrent/atomic/AtomicLong;J)J
pop2
6: aload 0
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 4
7: aload 4
ifnull 11
8: aload 1
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndSet:(J)J
lstore 5
start local 5 9: lload 5
lconst_0
lcmp
ifeq 11
10: aload 4
lload 5
invokeinterface org.reactivestreams.Subscription.request:(J)V
end local 5 11: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 12 1 requested Ljava/util/concurrent/atomic/AtomicLong;
0 12 2 n J
1 12 4 s Lorg/reactivestreams/Subscription;
9 11 5 r J
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Ljava/util/concurrent/atomic/AtomicLong;J)V
MethodParameters:
Name Flags
field
requested
n
public static boolean setOnce(java.util.concurrent.atomic.AtomicReference<org.reactivestreams.Subscription>, org.reactivestreams.Subscription, );
descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;J)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.setOnce:(Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
ifeq 3
1: aload 1
lload 2
invokeinterface org.reactivestreams.Subscription.request:(J)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 field Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
0 4 1 s Lorg/reactivestreams/Subscription;
0 4 2 request J
Signature: (Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;Lorg/reactivestreams/Subscription;J)Z
MethodParameters:
Name Flags
field
s
request
public static io.reactivex.internal.subscriptions.SubscriptionHelper[] values();
descriptor: ()[Lio/reactivex/internal/subscriptions/SubscriptionHelper;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic io.reactivex.internal.subscriptions.SubscriptionHelper.ENUM$VALUES:[Lio/reactivex/internal/subscriptions/SubscriptionHelper;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray io.reactivex.internal.subscriptions.SubscriptionHelper
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static io.reactivex.internal.subscriptions.SubscriptionHelper valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/reactivex/internal/subscriptions/SubscriptionHelper;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Lio/reactivex/internal/subscriptions/SubscriptionHelper;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast io.reactivex.internal.subscriptions.SubscriptionHelper
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Lio/reactivex/internal/subscriptions/SubscriptionHelper;>;Lorg/reactivestreams/Subscription;
SourceFile: "SubscriptionHelper.java"