public abstract class java.time.Clock
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.time.Clock
super_class: java.lang.Object
{
public static java.time.Clock systemUTC();
descriptor: ()Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.time.Clock$SystemClock.UTC:Ljava/time/Clock$SystemClock;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.time.Clock systemDefaultZone();
descriptor: ()Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.time.Clock$SystemClock
dup
invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
invokespecial java.time.Clock$SystemClock.<init>:(Ljava/time/ZoneId;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.time.Clock system(java.time.ZoneId);
descriptor: (Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "zone"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
if_acmpne 3
2: getstatic java.time.Clock$SystemClock.UTC:Ljava/time/Clock$SystemClock;
areturn
3: StackMap locals:
StackMap stack:
new java.time.Clock$SystemClock
dup
aload 0
invokespecial java.time.Clock$SystemClock.<init>:(Ljava/time/ZoneId;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 zone Ljava/time/ZoneId;
MethodParameters:
Name Flags
zone
public static java.time.Clock tickMillis(java.time.ZoneId);
descriptor: (Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.time.Clock$TickClock
dup
aload 0
invokestatic java.time.Clock.system:(Ljava/time/ZoneId;)Ljava/time/Clock;
ldc 1000000
invokespecial java.time.Clock$TickClock.<init>:(Ljava/time/Clock;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 zone Ljava/time/ZoneId;
MethodParameters:
Name Flags
zone
public static java.time.Clock tickSeconds(java.time.ZoneId);
descriptor: (Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.time.Clock$TickClock
dup
aload 0
invokestatic java.time.Clock.system:(Ljava/time/ZoneId;)Ljava/time/Clock;
ldc 1000000000
invokespecial java.time.Clock$TickClock.<init>:(Ljava/time/Clock;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 zone Ljava/time/ZoneId;
MethodParameters:
Name Flags
zone
public static java.time.Clock tickMinutes(java.time.ZoneId);
descriptor: (Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.time.Clock$TickClock
dup
aload 0
invokestatic java.time.Clock.system:(Ljava/time/ZoneId;)Ljava/time/Clock;
ldc 60000000000
invokespecial java.time.Clock$TickClock.<init>:(Ljava/time/Clock;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 zone Ljava/time/ZoneId;
MethodParameters:
Name Flags
zone
public static java.time.Clock tick(java.time.Clock, java.time.Duration);
descriptor: (Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "baseClock"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
ldc "tickDuration"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 1
invokevirtual java.time.Duration.isNegative:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "Tick duration must not be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.Duration.toNanos:()J
lstore 2
start local 2 5: lload 2
ldc 1000000
lrem
lconst_0
lcmp
ifeq 8
6: ldc 1000000000
lload 2
lrem
lconst_0
lcmp
ifeq 8
7: new java.lang.IllegalArgumentException
dup
ldc "Invalid tick duration"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: long
StackMap stack:
lload 2
lconst_1
lcmp
ifgt 10
9: aload 0
areturn
10: StackMap locals:
StackMap stack:
new java.time.Clock$TickClock
dup
aload 0
lload 2
invokespecial java.time.Clock$TickClock.<init>:(Ljava/time/Clock;J)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 baseClock Ljava/time/Clock;
0 11 1 tickDuration Ljava/time/Duration;
5 11 2 tickNanos J
MethodParameters:
Name Flags
baseClock
tickDuration
public static java.time.Clock fixed(java.time.Instant, java.time.ZoneId);
descriptor: (Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "fixedInstant"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
ldc "zone"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: new java.time.Clock$FixedClock
dup
aload 0
aload 1
invokespecial java.time.Clock$FixedClock.<init>:(Ljava/time/Instant;Ljava/time/ZoneId;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fixedInstant Ljava/time/Instant;
0 3 1 zone Ljava/time/ZoneId;
MethodParameters:
Name Flags
fixedInstant
zone
public static java.time.Clock offset(java.time.Clock, java.time.Duration);
descriptor: (Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "baseClock"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
ldc "offsetDuration"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 1
getstatic java.time.Duration.ZERO:Ljava/time/Duration;
invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
new java.time.Clock$OffsetClock
dup
aload 0
aload 1
invokespecial java.time.Clock$OffsetClock.<init>:(Ljava/time/Clock;Ljava/time/Duration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 baseClock Ljava/time/Clock;
0 5 1 offsetDuration Ljava/time/Duration;
MethodParameters:
Name Flags
baseClock
offsetDuration
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/Clock;
public abstract java.time.ZoneId getZone();
descriptor: ()Ljava/time/ZoneId;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.time.Clock withZone(java.time.ZoneId);
descriptor: (Ljava/time/ZoneId;)Ljava/time/Clock;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
zone
public long millis();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.time.Clock.instant:()Ljava/time/Instant;
invokevirtual java.time.Instant.toEpochMilli:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/Clock;
public abstract java.time.Instant instant();
descriptor: ()Ljava/time/Instant;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/Clock;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/Clock;
}
SourceFile: "Clock.java"
NestMembers:
java.time.Clock$FixedClock java.time.Clock$OffsetClock java.time.Clock$SystemClock java.time.Clock$TickClock
InnerClasses:
final FixedClock = java.time.Clock$FixedClock of java.time.Clock
final OffsetClock = java.time.Clock$OffsetClock of java.time.Clock
final SystemClock = java.time.Clock$SystemClock of java.time.Clock
final TickClock = java.time.Clock$TickClock of java.time.Clock