public class org.eclipse.jgit.internal.storage.file.FileSnapshot
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.internal.storage.file.FileSnapshot
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final long UNKNOWN_SIZE;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.time.Instant UNKNOWN_TIME;
descriptor: Ljava/time/Instant;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object MISSING_FILEKEY;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.format.DateTimeFormatter dateFmt;
descriptor: Ljava/time/format/DateTimeFormatter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.eclipse.jgit.internal.storage.file.FileSnapshot DIRTY;
descriptor: Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.eclipse.jgit.internal.storage.file.FileSnapshot MISSING_FILE;
descriptor: Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final java.time.Instant lastModified;
descriptor: Ljava/time/Instant;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.time.Instant lastRead;
descriptor: Ljava/time/Instant;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean cannotBeRacilyClean;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final long size;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.eclipse.jgit.util.FS$FileStoreAttributes fileStoreAttributeCache;
descriptor: Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object fileKey;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.File file;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean sizeChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean fileKeyChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean lastModifiedChanged;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean wasRacyClean;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long delta;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long racyThreshold;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: ldc Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
1: putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
2: ldc -1
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.UNKNOWN_TIME:Ljava/time/Instant;
3: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
4: ldc "yyyy-MM-dd HH:mm:ss.nnnnnnnnn"
invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
5: invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.time.format.DateTimeFormatter.withLocale:(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
invokevirtual java.time.format.DateTimeFormatter.withZone:(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;
6: putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
7: new org.eclipse.jgit.internal.storage.file.FileSnapshot
dup
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.UNKNOWN_TIME:Ljava/time/Instant;
8: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.UNKNOWN_TIME:Ljava/time/Instant;
ldc -1
getstatic java.time.Duration.ZERO:Ljava/time/Duration;
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
9: invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/time/Instant;Ljava/time/Instant;JLjava/time/Duration;Ljava/lang/Object;)V
putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.DIRTY:Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
10: new org.eclipse.jgit.internal.storage.file.FileSnapshot$1
dup
11: getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
lconst_0
getstatic java.time.Duration.ZERO:Ljava/time/Duration;
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
12: invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot$1.<init>:(Ljava/time/Instant;Ljava/time/Instant;JLjava/time/Duration;Ljava/lang/Object;)V
putstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILE:Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
13: return
LocalVariableTable:
Start End Slot Name Signature
public static org.eclipse.jgit.internal.storage.file.FileSnapshot save(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.jgit.internal.storage.file.FileSnapshot
dup
aload 0
invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/io/File;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/io/File;
MethodParameters:
Name Flags
path
public static org.eclipse.jgit.internal.storage.file.FileSnapshot saveNoConfig(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.eclipse.jgit.internal.storage.file.FileSnapshot
dup
aload 0
iconst_0
invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/io/File;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/io/File;
MethodParameters:
Name Flags
path
private static java.lang.Object getFileKey(java.nio.file.attribute.BasicFileAttributes);
descriptor: (Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.attribute.BasicFileAttributes.fileKey:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 2
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 fileAttributes Ljava/nio/file/attribute/BasicFileAttributes;
1 4 1 fileKey Ljava/lang/Object;
MethodParameters:
Name Flags
fileAttributes
public static org.eclipse.jgit.internal.storage.file.FileSnapshot save(long);
descriptor: (J)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: invokestatic java.time.Instant.now:()Ljava/time/Instant;
astore 2
start local 2 1: new org.eclipse.jgit.internal.storage.file.FileSnapshot
dup
aload 2
lload 0
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
2: ldc -1
getstatic org.eclipse.jgit.util.FS$FileStoreAttributes.FALLBACK_TIMESTAMP_RESOLUTION:Ljava/time/Duration;
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
3: invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/time/Instant;Ljava/time/Instant;JLjava/time/Duration;Ljava/lang/Object;)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 modified J
1 4 2 read Ljava/time/Instant;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
modified
public static org.eclipse.jgit.internal.storage.file.FileSnapshot save(java.time.Instant);
descriptor: (Ljava/time/Instant;)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: invokestatic java.time.Instant.now:()Ljava/time/Instant;
astore 1
start local 1 1: new org.eclipse.jgit.internal.storage.file.FileSnapshot
dup
aload 1
aload 0
ldc -1
2: getstatic org.eclipse.jgit.util.FS$FileStoreAttributes.FALLBACK_TIMESTAMP_RESOLUTION:Ljava/time/Duration;
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
3: invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/time/Instant;Ljava/time/Instant;JLjava/time/Duration;Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 modified Ljava/time/Instant;
1 4 1 read Ljava/time/Instant;
MethodParameters:
Name Flags
modified
protected void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>:(Ljava/io/File;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 2 1 file Ljava/io/File;
MethodParameters:
Name Flags
file
protected void <init>(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
2: aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
3: aload 0
iload 2
ifeq 5
4: aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
invokestatic org.eclipse.jgit.util.FS.getFileStoreAttributes:(Ljava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
goto 6
5: StackMap locals: org.eclipse.jgit.internal.storage.file.FileSnapshot java.io.File int
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot
getstatic org.eclipse.jgit.util.FS$FileStoreAttributes.FALLBACK_FILESTORE_ATTRIBUTES:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
6: StackMap locals: org.eclipse.jgit.internal.storage.file.FileSnapshot java.io.File int
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot org.eclipse.jgit.util.FS$FileStoreAttributes
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileStoreAttributeCache:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
7: aconst_null
astore 3
start local 3 8: getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
aload 1
invokevirtual org.eclipse.jgit.util.FS.fileAttributes:(Ljava/io/File;)Ljava/nio/file/attribute/BasicFileAttributes;
astore 3
9: goto 15
StackMap locals: org.eclipse.jgit.internal.storage.file.FileSnapshot java.io.File int java.nio.file.attribute.BasicFileAttributes
StackMap stack: java.io.IOException
10: pop
11: aload 0
aload 1
invokevirtual java.io.File.lastModified:()J
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
12: aload 0
aload 1
invokevirtual java.io.File.length:()J
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
13: aload 0
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
14: return
15: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
16: aload 0
aload 3
invokeinterface java.nio.file.attribute.BasicFileAttributes.size:()J
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
17: aload 0
aload 3
invokestatic org.eclipse.jgit.internal.storage.file.FileSnapshot.getFileKey:(Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/lang/Object;
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
18: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 24
19: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, create new FileSnapshot: lastRead={}, lastModified={}, size={}, fileKey={}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
20: aload 1
aastore
dup
iconst_1
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
dup
iconst_2
21: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
dup
iconst_3
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
22: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aastore
23: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 25 1 file Ljava/io/File;
0 25 2 useConfig Z
8 25 3 fileAttributes Ljava/nio/file/attribute/BasicFileAttributes;
Exception table:
from to target type
8 9 10 Class java.io.IOException
MethodParameters:
Name Flags
file
useConfig
private void <init>(java.time.Instant, java.time.Instant, long, java.time.Duration, java.lang.Object);
descriptor: (Ljava/time/Instant;Ljava/time/Instant;JLjava/time/Duration;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
2: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
3: aload 0
aload 2
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
4: aload 0
new org.eclipse.jgit.util.FS$FileStoreAttributes
dup
5: aload 5
invokespecial org.eclipse.jgit.util.FS$FileStoreAttributes.<init>:(Ljava/time/Duration;)V
6: putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileStoreAttributeCache:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
7: aload 0
lload 3
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
8: aload 0
aload 6
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
9: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 10 1 read Ljava/time/Instant;
0 10 2 modified Ljava/time/Instant;
0 10 3 size J
0 10 5 fsTimestampResolution Ljava/time/Duration;
0 10 6 fileKey Ljava/lang/Object;
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
org.eclipse.jgit.annotations.NonNull()
4:
org.eclipse.jgit.annotations.NonNull()
MethodParameters:
Name Flags
read
modified
size
fsTimestampResolution
fileKey
public long lastModified();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.Instant.toEpochMilli:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.time.Instant lastModifiedInstant();
descriptor: ()Ljava/time/Instant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
public boolean isModified(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
aload 1
invokevirtual org.eclipse.jgit.util.FS.fileAttributes:(Ljava/io/File;)Ljava/nio/file/attribute/BasicFileAttributes;
astore 6
start local 6 1: aload 6
invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
astore 2
start local 2 2: aload 6
invokeinterface java.nio.file.attribute.BasicFileAttributes.size:()J
lstore 3
start local 3 3: aload 6
invokestatic org.eclipse.jgit.internal.storage.file.FileSnapshot.getFileKey:(Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/lang/Object;
astore 5
end local 6 start local 5 4: goto 9
end local 5 end local 3 end local 2 StackMap locals:
StackMap stack: java.io.IOException
5: pop
6: aload 1
invokevirtual java.io.File.lastModified:()J
invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
astore 2
start local 2 7: aload 1
invokevirtual java.io.File.length:()J
lstore 3
start local 3 8: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
astore 5
start local 5 9: StackMap locals: java.time.Instant long java.lang.Object
StackMap stack:
aload 0
aload 0
lload 3
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isSizeChanged:(J)Z
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.sizeChanged:Z
10: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.sizeChanged:Z
ifeq 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 5
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isFileKeyChanged:(Ljava/lang/Object;)Z
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKeyChanged:Z
13: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKeyChanged:Z
ifeq 15
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isModified:(Ljava/time/Instant;)Z
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModifiedChanged:Z
16: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModifiedChanged:Z
ifeq 18
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 19 1 path Ljava/io/File;
2 5 2 currLastModified Ljava/time/Instant;
7 19 2 currLastModified Ljava/time/Instant;
3 5 3 currSize J
8 19 3 currSize J
4 5 5 currFileKey Ljava/lang/Object;
9 19 5 currFileKey Ljava/lang/Object;
1 4 6 fileAttributes Ljava/nio/file/attribute/BasicFileAttributes;
Exception table:
from to target type
0 4 5 Class java.io.IOException
MethodParameters:
Name Flags
path
public void setClean(org.eclipse.jgit.internal.storage.file.FileSnapshot);
descriptor: (Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isRacyClean:(Ljava/time/Instant;)Z
ifne 3
2: aload 0
iconst_1
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.cannotBeRacilyClean:Z
3: StackMap locals: java.time.Instant
StackMap stack:
aload 0
aload 2
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 5 1 other Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
1 5 2 now Ljava/time/Instant;
MethodParameters:
Name Flags
other
public void waitUntilNotRacy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileStoreAttributeCache:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
1: invokevirtual org.eclipse.jgit.util.FS$FileStoreAttributes.getFsTimestampResolution:()Ljava/time/Duration;
invokevirtual java.time.Duration.toNanos:()J
2: lstore 1
start local 1 3: goto 5
4: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.sleep:(J)V
5: StackMap locals:
StackMap stack:
aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isRacyClean:(Ljava/time/Instant;)Z
ifne 4
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
3 7 1 timestampResolution J
Exceptions:
throws java.lang.InterruptedException
public boolean equals(org.eclipse.jgit.internal.storage.file.FileSnapshot);
descriptor: (Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
ldc -1
lcmp
ifeq 1
aload 1
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
ldc -1
lcmp
ifeq 1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
aload 1
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
lcmp
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
aload 1
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
ifeq 6
iload 2
ifeq 6
4: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
aload 1
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals: int
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 7 1 other Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
3 7 2 sizeEq Z
MethodParameters:
Name Flags
other
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jgit.internal.storage.file.FileSnapshot
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast org.eclipse.jgit.internal.storage.file.FileSnapshot
astore 2
start local 2 7: aload 0
aload 2
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.equals:(Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 8 1 obj Ljava/lang/Object;
7 8 2 other Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
aastore
invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
boolean wasSizeChanged();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.sizeChanged:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
boolean wasFileKeyChanged();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKeyChanged:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
boolean wasLastModifiedChanged();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModifiedChanged:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
boolean wasLastModifiedRacilyClean();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.wasRacyClean:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
public long lastDelta();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.delta:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
public long lastRacyThreshold();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.racyThreshold:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.DIRTY:Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
if_acmpne 2
1: ldc "DIRTY"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILE:Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
if_acmpne 4
3: ldc "MISSING_FILE"
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "FileSnapshot[modified: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc ", read: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
6: ldc ", fileKey: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
private boolean isRacyClean(java.time.Instant);
descriptor: (Ljava/time/Instant;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.getEffectiveRacyThreshold:()J
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.racyThreshold:J
1: aload 0
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
aload 1
invokestatic java.time.Duration.between:(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
invokevirtual java.time.Duration.toNanos:()J
putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.delta:J
2: aload 0
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.delta:J
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.racyThreshold:J
lcmp
ifgt 3
iconst_1
goto 4
StackMap locals:
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot
3: iconst_0
StackMap locals: org.eclipse.jgit.internal.storage.file.FileSnapshot java.time.Instant
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot int
4: putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.wasRacyClean:Z
5: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 12
6: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
7: ldc "file={}, isRacyClean={}, read={}, lastModified={}, delta={} ns, racy<={} ns"
bipush 6
anewarray java.lang.Object
dup
iconst_0
8: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.wasRacyClean:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 1
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
dup
iconst_3
9: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
dup
iconst_4
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.delta:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
10: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.racyThreshold:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
11: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.wasRacyClean:Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 13 1 read Ljava/time/Instant;
MethodParameters:
Name Flags
read
private long getEffectiveRacyThreshold();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileStoreAttributeCache:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
1: invokevirtual org.eclipse.jgit.util.FS$FileStoreAttributes.getFsTimestampResolution:()Ljava/time/Duration;
invokevirtual java.time.Duration.toNanos:()J
2: lstore 1
start local 1 3: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileStoreAttributeCache:Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
invokevirtual org.eclipse.jgit.util.FS$FileStoreAttributes.getMinimalRacyInterval:()Ljava/time/Duration;
4: invokevirtual java.time.Duration.toNanos:()J
5: lstore 3
start local 3 6: lload 1
lload 3
invokestatic java.lang.Math.max:(JJ)J
lstore 5
start local 5 7: lload 5
ldc 100000000
lcmp
ifge 8
lload 5
ldc 5
lmul
ldc 2
ldiv
goto 9
StackMap locals: long long long
StackMap stack:
8: lload 5
ldc 5
lmul
ldc 4
ldiv
StackMap locals:
StackMap stack: long
9: lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
3 10 1 timestampResolution J
6 10 3 minRacyInterval J
7 10 5 max J
private boolean isModified(java.time.Instant);
descriptor: (Ljava/time/Instant;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot
1: iconst_1
StackMap locals: org.eclipse.jgit.internal.storage.file.FileSnapshot java.time.Instant
StackMap stack: org.eclipse.jgit.internal.storage.file.FileSnapshot int
2: putfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModifiedChanged:Z
3: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModifiedChanged:Z
ifeq 11
4: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 10
5: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
6: ldc "file={}, lastModified changed from {} to {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
aastore
dup
iconst_1
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastModified:Ljava/time/Instant;
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
dup
iconst_2
8: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.dateFmt:Ljava/time/format/DateTimeFormatter;
aload 1
invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
aastore
9: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.cannotBeRacilyClean:Z
ifeq 14
12: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, cannot be racily clean"
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.lastRead:Ljava/time/Instant;
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.isRacyClean:(Ljava/time/Instant;)Z
ifne 17
15: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, is unmodified"
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, is racily clean"
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
18: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 19 1 currLastModified Ljava/time/Instant;
MethodParameters:
Name Flags
currLastModified
private boolean isFileKeyChanged(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.MISSING_FILEKEY:Ljava/lang/Object;
if_acmpeq 3
1: aload 1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: iload 2
ifeq 9
6: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, FileKey changed from {} to {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.fileKey:Ljava/lang/Object;
aastore
dup
iconst_2
aload 1
aastore
8: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 10 1 currFileKey Ljava/lang/Object;
5 10 2 changed Z
MethodParameters:
Name Flags
currFileKey
private boolean isSizeChanged(long);
descriptor: (J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: lload 1
ldc -1
lcmp
ifeq 1
lload 1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
lcmp
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 3
ifeq 7
4: getstatic org.eclipse.jgit.internal.storage.file.FileSnapshot.LOG:Lorg/slf4j/Logger;
ldc "file={}, size changed from {} to {} bytes"
iconst_3
anewarray java.lang.Object
dup
iconst_0
5: aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.file:Ljava/io/File;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jgit.internal.storage.file.FileSnapshot.size:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
6: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
0 8 1 currSize J
3 8 3 changed Z
MethodParameters:
Name Flags
currSize
}
SourceFile: "FileSnapshot.java"
NestMembers:
org.eclipse.jgit.internal.storage.file.FileSnapshot$1
InnerClasses:
org.eclipse.jgit.internal.storage.file.FileSnapshot$1
public final FileStoreAttributes = org.eclipse.jgit.util.FS$FileStoreAttributes of org.eclipse.jgit.util.FS