public class org.eclipse.jgit.util.FS_POSIX extends org.eclipse.jgit.util.FS
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.util.FS_POSIX
super_class: org.eclipse.jgit.util.FS
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_UMASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 18
private volatile int umask;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.Map<java.nio.file.FileStore, java.lang.Boolean> CAN_HARD_LINK;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/nio/file/FileStore;Ljava/lang/Boolean;>;
private volatile org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation supportsAtomicFileCreation;
descriptor: Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/eclipse/jgit/util/FS_POSIX;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.eclipse.jgit.util.FS_POSIX.LOG:Lorg/slf4j/Logger;
1: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.eclipse.jgit.util.FS.<init>:()V
1: aload 0
iconst_m1
putfield org.eclipse.jgit.util.FS_POSIX.umask:I
2: aload 0
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.UNDEFINED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
putfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/util/FS_POSIX;
protected void <init>(org.eclipse.jgit.util.FS);
descriptor: (Lorg/eclipse/jgit/util/FS;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.eclipse.jgit.util.FS.<init>:(Lorg/eclipse/jgit/util/FS;)V
1: aload 0
iconst_m1
putfield org.eclipse.jgit.util.FS_POSIX.umask:I
2: aload 0
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.UNDEFINED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
putfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
3: aload 1
instanceof org.eclipse.jgit.util.FS_POSIX
ifeq 5
4: aload 0
aload 1
checkcast org.eclipse.jgit.util.FS_POSIX
getfield org.eclipse.jgit.util.FS_POSIX.umask:I
putfield org.eclipse.jgit.util.FS_POSIX.umask:I
5: StackMap locals: org.eclipse.jgit.util.FS_POSIX org.eclipse.jgit.util.FS
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 6 1 src Lorg/eclipse/jgit/util/FS;
MethodParameters:
Name Flags
src
public org.eclipse.jgit.util.FS newInstance();
descriptor: ()Lorg/eclipse/jgit/util/FS;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.jgit.util.FS_POSIX
dup
aload 0
invokespecial org.eclipse.jgit.util.FS_POSIX.<init>:(Lorg/eclipse/jgit/util/FS;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
public void setUmask(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jgit.util.FS_POSIX.umask:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 2 1 umask I
MethodParameters:
Name Flags
umask
private int umask();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.util.FS_POSIX.umask:I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 4
2: invokestatic org.eclipse.jgit.util.FS_POSIX.readUmask:()I
istore 1
3: aload 0
iload 1
putfield org.eclipse.jgit.util.FS_POSIX.umask:I
4: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/util/FS_POSIX;
1 5 1 u I
private static int readUmask();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=0
0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
1: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "sh"
aastore
dup
iconst_1
ldc "-c"
aastore
dup
iconst_2
ldc "umask"
aastore
2: aconst_null
aconst_null
3: invokevirtual java.lang.Runtime.exec:([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
astore 0
start local 0 4: aconst_null
astore 1
aconst_null
astore 2
5: new java.io.BufferedReader
dup
6: new java.io.InputStreamReader
dup
aload 0
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
7: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
8: invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
9: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 10: aload 0
invokevirtual java.lang.Process.waitFor:()I
ifne 16
11: aload 3
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 4
start local 4 12: aload 4
ifnull 16
aload 4
ldc "0?\\d{3}"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 16
13: aload 4
bipush 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
14: aload 3
ifnull 15
aload 3
invokevirtual java.io.BufferedReader.close:()V
15: StackMap locals: java.lang.Process java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String
StackMap stack: int
ireturn
end local 4 16: StackMap locals:
StackMap stack:
aload 3
ifnull 17
aload 3
invokevirtual java.io.BufferedReader.close:()V
17: StackMap locals:
StackMap stack:
bipush 18
ireturn
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 1
19: aload 3
ifnull 20
aload 3
invokevirtual java.io.BufferedReader.close:()V
end local 3 StackMap locals:
StackMap stack:
20: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
aload 1
ifnonnull 22
aload 2
astore 1
goto 23
StackMap locals:
StackMap stack:
22: aload 1
aload 2
if_acmpeq 23
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 1
athrow
end local 0 24: StackMap locals:
StackMap stack: java.lang.Exception
pop
25: bipush 18
ireturn
LocalVariableTable:
Start End Slot Name Signature
4 24 0 p Ljava/lang/Process;
10 20 3 lineRead Ljava/io/BufferedReader;
12 16 4 s Ljava/lang/String;
Exception table:
from to target type
10 14 18 any
5 15 21 any
16 17 21 any
18 21 21 any
0 15 24 Class java.lang.Exception
16 17 24 Class java.lang.Exception
18 24 24 Class java.lang.Exception
protected java.io.File discoverGitExe();
descriptor: ()Ljava/io/File;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=1
start local 0 0: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
ldc "PATH"
invokevirtual org.eclipse.jgit.util.SystemReader.getenv:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "git"
aastore
invokestatic org.eclipse.jgit.util.FS_POSIX.searchPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/io/File;
astore 2
start local 2 2: aload 2
ifnonnull 15
3: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
invokevirtual org.eclipse.jgit.util.SystemReader.isMacOS:()Z
ifeq 15
4: aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "bash"
aastore
invokestatic org.eclipse.jgit.util.FS_POSIX.searchPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/io/File;
ifnull 15
5: aload 0
invokevirtual org.eclipse.jgit.util.FS_POSIX.userHome:()Ljava/io/File;
6: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "bash"
aastore
dup
iconst_1
ldc "--login"
aastore
dup
iconst_2
ldc "-c"
aastore
dup
iconst_3
ldc "which git"
aastore
7: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
8: invokestatic org.eclipse.jgit.util.FS_POSIX.readPipe:(Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 9: goto 13
end local 3 StackMap locals: org.eclipse.jgit.util.FS_POSIX java.lang.String java.io.File
StackMap stack: org.eclipse.jgit.errors.CommandFailedException
10: astore 4
start local 4 11: getstatic org.eclipse.jgit.util.FS_POSIX.LOG:Lorg/slf4j/Logger;
aload 4
invokevirtual org.eclipse.jgit.errors.CommandFailedException.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
12: aconst_null
areturn
end local 4 start local 3 13: StackMap locals: java.lang.String
StackMap stack:
aload 3
invokestatic org.eclipse.jgit.util.StringUtils.isEmptyOrNull:(Ljava/lang/String;)Z
ifne 15
14: new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
end local 3 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jgit/util/FS_POSIX;
1 16 1 path Ljava/lang/String;
2 16 2 gitExe Ljava/io/File;
9 10 3 w Ljava/lang/String;
13 15 3 w Ljava/lang/String;
11 13 4 e Lorg/eclipse/jgit/errors/CommandFailedException;
Exception table:
from to target type
5 9 10 Class org.eclipse.jgit.errors.CommandFailedException
public boolean isCaseSensitive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
invokevirtual org.eclipse.jgit.util.SystemReader.isMacOS:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/util/FS_POSIX;
public boolean supportsExecute();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
public boolean canExecute(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.canExecute:(Ljava/io/File;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 1 1 f Ljava/io/File;
MethodParameters:
Name Flags
f
public boolean setExecute(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.jgit.util.FS_POSIX.isFile:(Ljava/io/File;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 2
ifne 4
3: aload 1
iconst_0
iconst_0
invokevirtual java.io.File.setExecutable:(ZZ)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic org.eclipse.jgit.util.FileUtils.toPath:(Ljava/io/File;)Ljava/nio/file/Path;
astore 3
start local 3 5: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.getPosixFilePermissions:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/util/Set;
astore 4
start local 4 6: aload 4
getstatic java.nio.file.attribute.PosixFilePermission.OWNER_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 0
invokevirtual org.eclipse.jgit.util.FS_POSIX.umask:()I
istore 5
start local 5 8: aload 4
iload 5
getstatic java.nio.file.attribute.PosixFilePermission.GROUP_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
bipush 8
invokestatic org.eclipse.jgit.util.FS_POSIX.apply:(Ljava/util/Set;ILjava/nio/file/attribute/PosixFilePermission;I)V
9: aload 4
iload 5
getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
iconst_1
invokestatic org.eclipse.jgit.util.FS_POSIX.apply:(Ljava/util/Set;ILjava/nio/file/attribute/PosixFilePermission;I)V
10: aload 3
aload 4
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
11: iconst_1
ireturn
end local 5 end local 4 end local 3 12: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 13: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
ldc "jgit.fs.debug"
invokevirtual org.eclipse.jgit.util.SystemReader.getProperty:(Ljava/lang/String;)Ljava/lang/String;
14: invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 4
start local 4 15: iload 4
ifeq 17
16: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
17: StackMap locals: java.io.IOException int
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 18 1 f Ljava/io/File;
0 18 2 canExecute Z
5 12 3 path Ljava/nio/file/Path;
6 12 4 pset Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
8 12 5 mask I
13 18 3 e Ljava/io/IOException;
15 18 4 debug Z
Exception table:
from to target type
4 11 12 Class java.io.IOException
MethodParameters:
Name Flags
f
canExecute
private static void apply(java.util.Set<java.nio.file.attribute.PosixFilePermission>, int, java.nio.file.attribute.PosixFilePermission, );
descriptor: (Ljava/util/Set;ILjava/nio/file/attribute/PosixFilePermission;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 3
iand
ifne 3
1: aload 0
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 set Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
0 5 1 umask I
0 5 2 perm Ljava/nio/file/attribute/PosixFilePermission;
0 5 3 test I
Signature: (Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;ILjava/nio/file/attribute/PosixFilePermission;I)V
MethodParameters:
Name Flags
set
umask
perm
test
public java.lang.ProcessBuilder runInShell(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/ProcessBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
iconst_4
aload 2
arraylength
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 1: aload 3
ldc "sh"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 3
ldc "-c"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 3
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " \"$@\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 3
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 3
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: new java.lang.ProcessBuilder
dup
iconst_0
anewarray java.lang.String
invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
astore 4
start local 4 7: aload 4
aload 3
invokevirtual java.lang.ProcessBuilder.command:(Ljava/util/List;)Ljava/lang/ProcessBuilder;
pop
8: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 9 1 cmd Ljava/lang/String;
0 9 2 args [Ljava/lang/String;
1 9 3 argv Ljava/util/List<Ljava/lang/String;>;
7 9 4 proc Ljava/lang/ProcessBuilder;
MethodParameters:
Name Flags
cmd
args
public org.eclipse.jgit.util.ProcessResult runHookIfPresent(org.eclipse.jgit.lib.Repository, java.lang.String, java.lang.String[], java.io.PrintStream, java.io.PrintStream, java.lang.String);
descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;[Ljava/lang/String;Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/lang/String;)Lorg/eclipse/jgit/util/ProcessResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
1: aload 5
aload 6
2: invokevirtual org.eclipse.jgit.util.FS_POSIX.internalRunHookIfPresent:(Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;[Ljava/lang/String;Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/lang/String;)Lorg/eclipse/jgit/util/ProcessResult;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 3 1 repository Lorg/eclipse/jgit/lib/Repository;
0 3 2 hookName Ljava/lang/String;
0 3 3 args [Ljava/lang/String;
0 3 4 outRedirect Ljava/io/PrintStream;
0 3 5 errRedirect Ljava/io/PrintStream;
0 3 6 stdinArgs Ljava/lang/String;
Exceptions:
throws org.eclipse.jgit.api.errors.JGitInternalException
MethodParameters:
Name Flags
repository
hookName
args
outRedirect
errRedirect
stdinArgs
public boolean retryFailedLockFileCommit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
public void setHidden(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 1 1 path Ljava/io/File;
0 1 2 hidden Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
hidden
public org.eclipse.jgit.util.FS$Attributes getAttributes(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/util/FS$Attributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.eclipse.jgit.util.FileUtils.getFileAttributesPosix:(Lorg/eclipse/jgit/util/FS;Ljava/io/File;)Lorg/eclipse/jgit/util/FS$Attributes;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 1 1 path Ljava/io/File;
MethodParameters:
Name Flags
path
public java.io.File normalize(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.normalize:(Ljava/io/File;)Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 1 1 file Ljava/io/File;
MethodParameters:
Name Flags
file
public java.lang.String normalize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.normalize:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.io.File findHook(org.eclipse.jgit.lib.Repository, java.lang.String);
descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.io.File
StackMap stack:
aload 3
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
ldc "hooks"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
4: aload 2
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
5: astore 4
start local 4 6: aload 4
invokestatic java.nio.file.Files.isExecutable:(Ljava/nio/file/Path;)Z
ifeq 8
7: aload 4
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
areturn
8: StackMap locals: java.nio.file.Path
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 9 1 repository Lorg/eclipse/jgit/lib/Repository;
0 9 2 hookName Ljava/lang/String;
1 9 3 gitdir Ljava/io/File;
6 9 4 hookPath Ljava/nio/file/Path;
MethodParameters:
Name Flags
repository
hookName
public boolean supportsAtomicCreateNewFile();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.UNDEFINED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
if_acmpne 16
1: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
invokevirtual org.eclipse.jgit.util.SystemReader.getUserConfig:()Lorg/eclipse/jgit/lib/StoredConfig;
astore 1
start local 1 2: aload 1
ldc "core"
aconst_null
3: ldc "supportsatomicfilecreation"
4: invokevirtual org.eclipse.jgit.lib.StoredConfig.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 5: aload 2
ifnull 11
6: aload 0
aload 2
invokestatic org.eclipse.jgit.util.StringUtils.toBoolean:(Ljava/lang/String;)Z
ifeq 8
7: getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.SUPPORTED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
goto 9
8: StackMap locals: org.eclipse.jgit.util.FS_POSIX org.eclipse.jgit.lib.StoredConfig java.lang.String
StackMap stack: org.eclipse.jgit.util.FS_POSIX
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.NOT_SUPPORTED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
9: StackMap locals: org.eclipse.jgit.util.FS_POSIX org.eclipse.jgit.lib.StoredConfig java.lang.String
StackMap stack: org.eclipse.jgit.util.FS_POSIX org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation
putfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
10: goto 16
11: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.SUPPORTED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
putfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
end local 2 end local 1 12: goto 16
StackMap locals: org.eclipse.jgit.util.FS_POSIX
StackMap stack: java.lang.Exception
13: astore 1
start local 1 14: getstatic org.eclipse.jgit.util.FS_POSIX.LOG:Lorg/slf4j/Logger;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.assumeAtomicCreateNewFile:Ljava/lang/String;
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
15: aload 0
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.SUPPORTED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
putfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
end local 1 16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.util.FS_POSIX.supportsAtomicFileCreation:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
getstatic org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation.SUPPORTED:Lorg/eclipse/jgit/util/FS_POSIX$AtomicFileCreation;
if_acmpne 17
iconst_1
ireturn
StackMap locals:
StackMap stack:
17: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jgit/util/FS_POSIX;
2 12 1 config Lorg/eclipse/jgit/lib/StoredConfig;
5 12 2 value Ljava/lang/String;
14 16 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 12 13 Class java.io.IOException
1 12 13 Class org.eclipse.jgit.errors.ConfigInvalidException
public boolean createNewFile(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.createNewFile:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.util.FS_POSIX.supportsAtomicCreateNewFile:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 2
start local 2 5: aconst_null
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: aload 2
invokestatic java.nio.file.Files.getFileStore:(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
astore 4
8: goto 11
StackMap locals: org.eclipse.jgit.util.FS_POSIX java.io.File java.nio.file.Path java.nio.file.Path java.nio.file.FileStore
StackMap stack: java.lang.SecurityException
9: pop
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
12: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/eclipse/jgit/util/FS_POSIX.lambda$0(Ljava/nio/file/FileStore;)Ljava/lang/Boolean; (6)
(Ljava/nio/file/FileStore;)Ljava/lang/Boolean;
13: invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 5
start local 5 14: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 5
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 18
15: aload 3
ifnull 17
16: aload 3
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
17: StackMap locals: java.lang.Boolean
StackMap stack:
iconst_1
ireturn
18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".lnk"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
19: aload 2
20: invokestatic java.nio.file.Files.createLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 3
21: aload 2
22: ldc "unix:nlink"
iconst_0
anewarray java.nio.file.LinkOption
23: invokestatic java.nio.file.Files.getAttribute:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 24: aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_2
if_icmple 32
25: getstatic org.eclipse.jgit.util.FS_POSIX.LOG:Lorg/slf4j/Logger;
26: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.failedAtomicFileCreation:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
27: aload 6
aastore
28: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
29: aload 3
ifnull 31
30: aload 3
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
31: StackMap locals: java.lang.Integer
StackMap stack:
iconst_0
ireturn
32: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_2
if_icmpge 34
33: getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: StackMap locals:
StackMap stack:
aload 3
ifnull 36
35: aload 3
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 37: StackMap locals: org.eclipse.jgit.util.FS_POSIX java.io.File java.nio.file.Path java.nio.file.Path java.nio.file.FileStore
StackMap stack: java.lang.RuntimeException
pop
38: getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
39: aload 3
ifnull 41
40: aload 3
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
41: StackMap locals:
StackMap stack:
iconst_1
ireturn
42: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
43: aload 3
ifnull 45
44: aload 3
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
45: StackMap locals: org.eclipse.jgit.util.FS_POSIX java.io.File java.nio.file.Path java.nio.file.Path java.nio.file.FileStore top top java.lang.Throwable
StackMap stack:
aload 7
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 46 1 lock Ljava/io/File;
5 46 2 lockPath Ljava/nio/file/Path;
6 46 3 link Ljava/nio/file/Path;
7 46 4 store Ljava/nio/file/FileStore;
14 37 5 canLink Ljava/lang/Boolean;
24 37 6 nlink Ljava/lang/Integer;
Exception table:
from to target type
7 8 9 Class java.lang.SecurityException
11 15 37 Class java.lang.UnsupportedOperationException
18 29 37 Class java.lang.UnsupportedOperationException
32 34 37 Class java.lang.UnsupportedOperationException
11 15 37 Class java.lang.IllegalArgumentException
18 29 37 Class java.lang.IllegalArgumentException
32 34 37 Class java.lang.IllegalArgumentException
11 15 42 any
18 29 42 any
32 34 42 any
37 39 42 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
lock
public org.eclipse.jgit.util.FS$LockToken createNewFileAtomic(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/util/FS$LockToken;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 2
start local 2 1: aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createFile:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
2: goto 5
end local 2 StackMap locals:
StackMap stack: java.lang.Exception
3: pop
4: iconst_0
aconst_null
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
areturn
start local 2 5: StackMap locals: java.nio.file.Path
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.util.FS_POSIX.supportsAtomicCreateNewFile:()Z
ifeq 7
6: iconst_1
aconst_null
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 8: aconst_null
astore 4
start local 4 9: aload 2
invokestatic java.nio.file.Files.getFileStore:(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
astore 4
10: goto 13
StackMap locals: org.eclipse.jgit.util.FS_POSIX java.io.File java.nio.file.Path java.nio.file.Path java.nio.file.FileStore
StackMap stack: java.lang.SecurityException
11: pop
12: iconst_1
aconst_null
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
areturn
13: StackMap locals:
StackMap stack:
getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
14: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/eclipse/jgit/util/FS_POSIX.lambda$1(Ljava/nio/file/FileStore;)Ljava/lang/Boolean; (6)
(Ljava/nio/file/FileStore;)Ljava/lang/Boolean;
15: invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 5
start local 5 16: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 5
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 19
17: iconst_1
aconst_null
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
18: areturn
19: StackMap locals: java.lang.Boolean
StackMap stack:
aload 1
invokestatic org.eclipse.jgit.util.FS_POSIX.uniqueLinkPath:(Ljava/io/File;)Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aload 2
invokestatic java.nio.file.Files.createLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 3
20: aload 2
21: ldc "unix:nlink"
iconst_0
anewarray java.nio.file.LinkOption
22: invokestatic java.nio.file.Files.getAttribute:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 23: aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_2
if_icmple 29
24: getstatic org.eclipse.jgit.util.FS_POSIX.LOG:Lorg/slf4j/Logger;
25: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.failedAtomicFileCreation:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 6
aastore
26: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
27: iconst_0
aload 3
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
28: areturn
29: StackMap locals: java.lang.Integer
StackMap stack:
aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_2
if_icmpge 31
30: getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: StackMap locals:
StackMap stack:
iconst_1
aload 3
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
32: areturn
end local 6 end local 5 33: StackMap locals: org.eclipse.jgit.util.FS_POSIX java.io.File java.nio.file.Path java.nio.file.Path java.nio.file.FileStore
StackMap stack: java.lang.Exception
pop
34: getstatic org.eclipse.jgit.util.FS_POSIX.CAN_HARD_LINK:Ljava/util/Map;
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: iconst_1
aload 3
invokestatic org.eclipse.jgit.util.FS_POSIX.token:(ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/eclipse/jgit/util/FS_POSIX;
0 36 1 file Ljava/io/File;
1 3 2 path Ljava/nio/file/Path;
5 36 2 path Ljava/nio/file/Path;
8 36 3 link Ljava/nio/file/Path;
9 36 4 store Ljava/nio/file/FileStore;
16 33 5 canLink Ljava/lang/Boolean;
23 33 6 nlink Ljava/lang/Integer;
Exception table:
from to target type
0 2 3 Class java.nio.file.FileAlreadyExistsException
0 2 3 Class java.nio.file.InvalidPathException
9 10 11 Class java.lang.SecurityException
13 18 33 Class java.lang.UnsupportedOperationException
19 28 33 Class java.lang.UnsupportedOperationException
29 32 33 Class java.lang.UnsupportedOperationException
13 18 33 Class java.lang.IllegalArgumentException
19 28 33 Class java.lang.IllegalArgumentException
29 32 33 Class java.lang.IllegalArgumentException
13 18 33 Class java.nio.file.FileSystemException
19 28 33 Class java.nio.file.FileSystemException
29 32 33 Class java.nio.file.FileSystemException
13 18 33 Class java.lang.SecurityException
19 28 33 Class java.lang.SecurityException
29 32 33 Class java.lang.SecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
private static org.eclipse.jgit.util.FS$LockToken token(boolean, java.nio.file.Path);
descriptor: (ZLjava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$LockToken;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 2
1: new org.eclipse.jgit.util.FS$LockToken
dup
iload 0
aload 1
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
invokespecial org.eclipse.jgit.util.FS$LockToken.<init>:(ZLjava/util/Optional;)V
goto 3
2: StackMap locals:
StackMap stack:
new org.eclipse.jgit.util.FS$LockToken
dup
iload 0
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokespecial org.eclipse.jgit.util.FS$LockToken.<init>:(ZLjava/util/Optional;)V
3: StackMap locals:
StackMap stack: org.eclipse.jgit.util.FS$LockToken
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 created Z
0 4 1 p Ljava/nio/file/Path;
RuntimeVisibleParameterAnnotations:
0:
1:
org.eclipse.jgit.annotations.Nullable()
MethodParameters:
Name Flags
created
p
private static java.lang.String uniqueLinkPath(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
invokevirtual java.util.UUID.getMostSignificantBits:()J
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
invokevirtual java.util.UUID.getLeastSignificantBits:()J
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 file Ljava/io/File;
1 5 1 id Ljava/util/UUID;
MethodParameters:
Name Flags
file
private static java.lang.Boolean lambda$0(java.nio.file.FileStore);
descriptor: (Ljava/nio/file/FileStore;)Ljava/lang/Boolean;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/nio/file/FileStore;
private static java.lang.Boolean lambda$1(java.nio.file.FileStore);
descriptor: (Ljava/nio/file/FileStore;)Ljava/lang/Boolean;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/nio/file/FileStore;
}
SourceFile: "FS_POSIX.java"
NestMembers:
org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Attributes = org.eclipse.jgit.util.FS$Attributes of org.eclipse.jgit.util.FS
public LockToken = org.eclipse.jgit.util.FS$LockToken of org.eclipse.jgit.util.FS
private final AtomicFileCreation = org.eclipse.jgit.util.FS_POSIX$AtomicFileCreation of org.eclipse.jgit.util.FS_POSIX