final class io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker extends io.reactivex.Scheduler$Worker
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker
super_class: io.reactivex.Scheduler$Worker
{
final java.util.concurrent.ScheduledExecutorService executor;
descriptor: Ljava/util/concurrent/ScheduledExecutorService;
flags: (0x0010) ACC_FINAL
final io.reactivex.disposables.CompositeDisposable tasks;
descriptor: Lio/reactivex/disposables/CompositeDisposable;
flags: (0x0010) ACC_FINAL
volatile boolean disposed;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
void <init>(java.util.concurrent.ScheduledExecutorService);
descriptor: (Ljava/util/concurrent/ScheduledExecutorService;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.reactivex.Scheduler$Worker.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.executor:Ljava/util/concurrent/ScheduledExecutorService;
2: aload 0
new io.reactivex.disposables.CompositeDisposable
dup
invokespecial io.reactivex.disposables.CompositeDisposable.<init>:()V
putfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.tasks:Lio/reactivex/disposables/CompositeDisposable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/schedulers/SingleScheduler$ScheduledWorker;
0 4 1 executor Ljava/util/concurrent/ScheduledExecutorService;
MethodParameters:
Name Flags
executor
public io.reactivex.disposables.Disposable schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.disposed:Z
ifeq 2
1: getstatic io.reactivex.internal.disposables.EmptyDisposable.INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
astore 5
start local 5 3: new io.reactivex.internal.schedulers.ScheduledRunnable
dup
aload 5
aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.tasks:Lio/reactivex/disposables/CompositeDisposable;
invokespecial io.reactivex.internal.schedulers.ScheduledRunnable.<init>:(Ljava/lang/Runnable;Lio/reactivex/internal/disposables/DisposableContainer;)V
astore 6
start local 6 4: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.tasks:Lio/reactivex/disposables/CompositeDisposable;
aload 6
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
5: lload 2
lconst_0
lcmp
ifgt 8
6: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.executor:Ljava/util/concurrent/ScheduledExecutorService;
aload 6
invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 7
start local 7 7: goto 9
end local 7 8: StackMap locals: java.lang.Runnable io.reactivex.internal.schedulers.ScheduledRunnable
StackMap stack:
aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.executor:Ljava/util/concurrent/ScheduledExecutorService;
aload 6
lload 2
aload 4
invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 7
start local 7 9: StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 6
aload 7
invokevirtual io.reactivex.internal.schedulers.ScheduledRunnable.setFuture:(Ljava/util/concurrent/Future;)V
end local 7 10: goto 15
StackMap locals: io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker java.lang.Runnable long java.util.concurrent.TimeUnit java.lang.Runnable io.reactivex.internal.schedulers.ScheduledRunnable
StackMap stack: java.util.concurrent.RejectedExecutionException
11: astore 7
start local 7 12: aload 0
invokevirtual io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.dispose:()V
13: aload 7
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
14: getstatic io.reactivex.internal.disposables.EmptyDisposable.INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
areturn
end local 7 15: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/reactivex/internal/schedulers/SingleScheduler$ScheduledWorker;
0 16 1 run Ljava/lang/Runnable;
0 16 2 delay J
0 16 4 unit Ljava/util/concurrent/TimeUnit;
3 16 5 decoratedRun Ljava/lang/Runnable;
4 16 6 sr Lio/reactivex/internal/schedulers/ScheduledRunnable;
7 8 7 f Ljava/util/concurrent/Future<*>;
9 10 7 f Ljava/util/concurrent/Future<*>;
12 15 7 ex Ljava/util/concurrent/RejectedExecutionException;
Exception table:
from to target type
5 10 11 Class java.util.concurrent.RejectedExecutionException
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
io.reactivex.annotations.NonNull()
1:
2:
io.reactivex.annotations.NonNull()
MethodParameters:
Name Flags
run
delay
unit
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.disposed:Z
ifne 3
1: aload 0
iconst_1
putfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.disposed:Z
2: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.tasks:Lio/reactivex/disposables/CompositeDisposable;
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/schedulers/SingleScheduler$ScheduledWorker;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker.disposed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/schedulers/SingleScheduler$ScheduledWorker;
}
SourceFile: "SingleScheduler.java"
NestHost: io.reactivex.internal.schedulers.SingleScheduler
InnerClasses:
public abstract Worker = io.reactivex.Scheduler$Worker of io.reactivex.Scheduler
final ScheduledWorker = io.reactivex.internal.schedulers.SingleScheduler$ScheduledWorker of io.reactivex.internal.schedulers.SingleScheduler