final class io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer<T> extends io.reactivex.internal.operators.flowable.FlowableReplay$BoundedReplayBuffer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer
super_class: io.reactivex.internal.operators.flowable.FlowableReplay$BoundedReplayBuffer
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3457957419649567404
final io.reactivex.Scheduler scheduler;
descriptor: Lio/reactivex/Scheduler;
flags: (0x0010) ACC_FINAL
final long maxAge;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.util.concurrent.TimeUnit unit;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x0010) ACC_FINAL
final int limit;
descriptor: I
flags: (0x0010) ACC_FINAL
void <init>(int, long, java.util.concurrent.TimeUnit, io.reactivex.Scheduler);
descriptor: (IJLjava/util/concurrent/TimeUnit;Lio/reactivex/Scheduler;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial io.reactivex.internal.operators.flowable.FlowableReplay$BoundedReplayBuffer.<init>:()V
1: aload 0
aload 5
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
2: aload 0
iload 1
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.limit:I
3: aload 0
lload 2
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.maxAge:J
4: aload 0
aload 4
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
5: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
0 6 1 limit I
0 6 2 maxAge J
0 6 4 unit Ljava/util/concurrent/TimeUnit;
0 6 5 scheduler Lio/reactivex/Scheduler;
MethodParameters:
Name Flags
limit
maxAge
unit
scheduler
java.lang.Object enterTransform(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new io.reactivex.schedulers.Timed
dup
aload 1
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokespecial io.reactivex.schedulers.Timed.<init>:(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
java.lang.Object leaveTransform(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast io.reactivex.schedulers.Timed
invokevirtual io.reactivex.schedulers.Timed.value:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
void truncate();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 1
start local 1 1: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 3
start local 3 2: aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer long io.reactivex.internal.operators.flowable.FlowableReplay$Node io.reactivex.internal.operators.flowable.FlowableReplay$Node int
StackMap stack:
aload 4
ifnull 18
5: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.limit:I
if_icmple 11
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
if_icmple 11
6: iinc 5 1
7: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
isub
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
8: aload 4
astore 3
9: aload 4
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
10: goto 4
11: StackMap locals:
StackMap stack:
aload 4
getfield io.reactivex.internal.operators.flowable.FlowableReplay$Node.value:Ljava/lang/Object;
checkcast io.reactivex.schedulers.Timed
astore 6
start local 6 12: aload 6
invokevirtual io.reactivex.schedulers.Timed.time:()J
lload 1
lcmp
ifgt 18
13: iinc 5 1
14: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
isub
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
15: aload 4
astore 3
16: aload 4
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
end local 6 17: goto 4
18: StackMap locals:
StackMap stack:
iload 5
ifeq 20
19: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.setFirst:(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
20: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
1 21 1 timeLimit J
2 21 3 prev Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
3 21 4 next Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
4 21 5 e I
12 17 6 v Lio/reactivex/schedulers/Timed<*>;
void truncateFinal();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 1
start local 1 1: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 3
start local 3 2: aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: StackMap locals: io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer long io.reactivex.internal.operators.flowable.FlowableReplay$Node io.reactivex.internal.operators.flowable.FlowableReplay$Node int
StackMap stack:
aload 4
ifnull 12
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
if_icmple 12
5: aload 4
getfield io.reactivex.internal.operators.flowable.FlowableReplay$Node.value:Ljava/lang/Object;
checkcast io.reactivex.schedulers.Timed
astore 6
start local 6 6: aload 6
invokevirtual io.reactivex.schedulers.Timed.time:()J
lload 1
lcmp
ifgt 12
7: iinc 5 1
8: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
isub
putfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.size:I
9: aload 4
astore 3
10: aload 4
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
end local 6 11: goto 4
12: StackMap locals:
StackMap stack:
iload 5
ifeq 14
13: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.setFirst:(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
14: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
1 15 1 timeLimit J
2 15 3 prev Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
3 15 4 next Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
4 15 5 e I
6 11 6 v Lio/reactivex/schedulers/Timed<*>;
io.reactivex.internal.operators.flowable.FlowableReplay$Node getHead();
descriptor: ()Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 1
start local 1 1: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 3
start local 3 2: aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
start local 4 3: StackMap locals: long io.reactivex.internal.operators.flowable.FlowableReplay$Node io.reactivex.internal.operators.flowable.FlowableReplay$Node
StackMap stack:
aload 4
ifnonnull 5
4: goto 12
5: StackMap locals:
StackMap stack:
aload 4
getfield io.reactivex.internal.operators.flowable.FlowableReplay$Node.value:Ljava/lang/Object;
checkcast io.reactivex.schedulers.Timed
astore 5
start local 5 6: aload 5
invokevirtual io.reactivex.schedulers.Timed.value:()Ljava/lang/Object;
invokestatic io.reactivex.internal.util.NotificationLite.isComplete:(Ljava/lang/Object;)Z
ifne 12
aload 5
invokevirtual io.reactivex.schedulers.Timed.value:()Ljava/lang/Object;
invokestatic io.reactivex.internal.util.NotificationLite.isError:(Ljava/lang/Object;)Z
ifeq 8
7: goto 12
8: StackMap locals: io.reactivex.schedulers.Timed
StackMap stack:
aload 5
invokevirtual io.reactivex.schedulers.Timed.time:()J
lload 1
lcmp
ifgt 12
9: aload 4
astore 3
10: aload 4
invokevirtual io.reactivex.internal.operators.flowable.FlowableReplay$Node.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.flowable.FlowableReplay$Node
astore 4
end local 5 11: goto 3
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/reactivex/internal/operators/flowable/FlowableReplay$SizeAndTimeBoundReplayBuffer<TT;>;
1 13 1 timeLimit J
2 13 3 prev Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
3 13 4 next Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
6 11 5 v Lio/reactivex/schedulers/Timed<*>;
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;
SourceFile: "FlowableReplay.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableReplay
InnerClasses:
BoundedReplayBuffer = io.reactivex.internal.operators.flowable.FlowableReplay$BoundedReplayBuffer of io.reactivex.internal.operators.flowable.FlowableReplay
final Node = io.reactivex.internal.operators.flowable.FlowableReplay$Node of io.reactivex.internal.operators.flowable.FlowableReplay
final SizeAndTimeBoundReplayBuffer = io.reactivex.internal.operators.flowable.FlowableReplay$SizeAndTimeBoundReplayBuffer of io.reactivex.internal.operators.flowable.FlowableReplay