public abstract class org.eclipse.jgit.util.FS
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jgit.util.FS
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected static final org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry[] NO_ENTRIES;
descriptor: [Lorg/eclipse/jgit/treewalk/WorkingTreeIterator$Entry;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private volatile java.lang.Boolean supportSymlinks;
descriptor: Ljava/lang/Boolean;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public static final org.eclipse.jgit.util.FS DETECTED;
descriptor: Lorg/eclipse/jgit/util/FS;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static volatile org.eclipse.jgit.util.FS$FSFactory factory;
descriptor: Lorg/eclipse/jgit/util/FS$FSFactory;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private volatile org.eclipse.jgit.util.FS$Holder<java.io.File> userHome;
descriptor: Lorg/eclipse/jgit/util/FS$Holder;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/eclipse/jgit/util/FS$Holder<Ljava/io/File;>;
private volatile org.eclipse.jgit.util.FS$Holder<java.io.File> gitSystemConfig;
descriptor: Lorg/eclipse/jgit/util/FS$Holder;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/eclipse/jgit/util/FS$Holder<Ljava/io/File;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/eclipse/jgit/util/FS;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.eclipse.jgit.util.FS.$assertionsDisabled:Z
3: ldc Lorg/eclipse/jgit/util/FS;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
4: iconst_0
anewarray org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry
putstatic org.eclipse.jgit.util.FS.NO_ENTRIES:[Lorg/eclipse/jgit/treewalk/WorkingTreeIterator$Entry;
5: invokestatic org.eclipse.jgit.util.FS.detect:()Lorg/eclipse/jgit/util/FS;
putstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
6: return
LocalVariableTable:
Start End Slot Name Signature
public static org.eclipse.jgit.util.FS detect();
descriptor: ()Lorg/eclipse/jgit/util/FS;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
invokestatic org.eclipse.jgit.util.FS.detect:(Ljava/lang/Boolean;)Lorg/eclipse/jgit/util/FS;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void setAsyncFileStoreAttributes(boolean);
descriptor: (Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic org.eclipse.jgit.util.FS$FileStoreAttributes.setBackground:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 asynch Z
MethodParameters:
Name Flags
asynch
public static org.eclipse.jgit.util.FS detect(java.lang.Boolean);
descriptor: (Ljava/lang/Boolean;)Lorg/eclipse/jgit/util/FS;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.jgit.util.FS.factory:Lorg/eclipse/jgit/util/FS$FSFactory;
ifnonnull 2
1: new org.eclipse.jgit.util.FS$FSFactory
dup
invokespecial org.eclipse.jgit.util.FS$FSFactory.<init>:()V
putstatic org.eclipse.jgit.util.FS.factory:Lorg/eclipse/jgit/util/FS$FSFactory;
2: StackMap locals:
StackMap stack:
getstatic org.eclipse.jgit.util.FS.factory:Lorg/eclipse/jgit/util/FS$FSFactory;
aload 0
invokevirtual org.eclipse.jgit.util.FS$FSFactory.detect:(Ljava/lang/Boolean;)Lorg/eclipse/jgit/util/FS;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cygwinUsed Ljava/lang/Boolean;
MethodParameters:
Name Flags
cygwinUsed
public static org.eclipse.jgit.util.FS$FileStoreAttributes getFileStoreAttributes(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.eclipse.jgit.util.FS$FileStoreAttributes.get:(Ljava/nio/file/Path;)Lorg/eclipse/jgit/util/FS$FileStoreAttributes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dir Ljava/nio/file/Path;
RuntimeInvisibleParameterAnnotations:
0:
org.eclipse.jgit.annotations.NonNull()
MethodParameters:
Name Flags
dir
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 Lorg/eclipse/jgit/util/FS;
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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
getfield org.eclipse.jgit.util.FS.userHome:Lorg/eclipse/jgit/util/FS$Holder;
putfield org.eclipse.jgit.util.FS.userHome:Lorg/eclipse/jgit/util/FS$Holder;
2: aload 0
aload 1
getfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
putfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/util/FS;
0 4 1 src Lorg/eclipse/jgit/util/FS;
MethodParameters:
Name Flags
src
public abstract org.eclipse.jgit.util.FS newInstance();
descriptor: ()Lorg/eclipse/jgit/util/FS;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean supportsExecute();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public boolean supportsAtomicCreateNewFile();
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;
public boolean supportsSymlinks();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.util.FS.supportSymlinks:Ljava/lang/Boolean;
ifnonnull 2
1: aload 0
invokevirtual org.eclipse.jgit.util.FS.detectSymlinkSupport:()V
2: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
getfield org.eclipse.jgit.util.FS.supportSymlinks:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/util/FS;
private void detectSymlinkSupport();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: ldc "tempsymlinktarget"
ldc ""
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
2: new java.io.File
dup
aload 1
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
ldc "tempsymlink"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 2
start local 2 3: aload 0
aload 2
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.util.FS.createSymLink:(Ljava/io/File;Ljava/lang/String;)V
4: aload 0
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
putfield org.eclipse.jgit.util.FS.supportSymlinks:Ljava/lang/Boolean;
5: aload 2
invokevirtual java.io.File.delete:()Z
pop
end local 2 6: goto 21
7: StackMap locals: org.eclipse.jgit.util.FS java.io.File
StackMap stack: java.lang.Throwable
pop
8: aload 0
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putfield org.eclipse.jgit.util.FS.supportSymlinks:Ljava/lang/Boolean;
9: aload 1
ifnull 26
10: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;)V
11: goto 26
StackMap locals:
StackMap stack: java.io.IOException
12: astore 4
start local 4 13: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
15: aload 1
ifnull 20
16: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;)V
17: goto 20
StackMap locals: org.eclipse.jgit.util.FS java.io.File top java.lang.Throwable
StackMap stack: java.io.IOException
18: astore 4
start local 4 19: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 20: StackMap locals:
StackMap stack:
aload 3
athrow
21: StackMap locals: org.eclipse.jgit.util.FS java.io.File
StackMap stack:
aload 1
ifnull 26
22: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;)V
23: goto 26
StackMap locals:
StackMap stack: java.io.IOException
24: astore 4
start local 4 25: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 26: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jgit/util/FS;
1 27 1 tempFile Ljava/io/File;
3 6 2 linkName Ljava/io/File;
13 14 4 e Ljava/io/IOException;
19 20 4 e Ljava/io/IOException;
25 26 4 e Ljava/io/IOException;
Exception table:
from to target type
1 6 7 Class java.io.IOException
1 6 7 Class java.lang.UnsupportedOperationException
1 6 7 Class java.lang.SecurityException
1 6 7 Class java.lang.InternalError
10 11 12 Class java.io.IOException
1 9 14 any
16 17 18 Class java.io.IOException
22 23 24 Class java.io.IOException
public abstract boolean isCaseSensitive();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean canExecute(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
f
public abstract boolean setExecute(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
f
canExec
public long lastModified(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.lastModified:(Ljava/io/File;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 f Ljava/io/File;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
f
public java.time.Instant lastModifiedInstant(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/time/Instant;
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.lastModifiedInstant:(Ljava/nio/file/Path;)Ljava/time/Instant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 p Ljava/nio/file/Path;
MethodParameters:
Name Flags
p
public java.time.Instant lastModifiedInstant(java.io.File);
descriptor: (Ljava/io/File;)Ljava/time/Instant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic org.eclipse.jgit.util.FileUtils.lastModifiedInstant:(Ljava/nio/file/Path;)Ljava/time/Instant;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 f Ljava/io/File;
MethodParameters:
Name Flags
f
public void setLastModified(java.io.File, long);
descriptor: (Ljava/io/File;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
lload 2
invokestatic org.eclipse.jgit.util.FileUtils.setLastModified:(Ljava/io/File;J)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 f Ljava/io/File;
0 2 2 time J
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
f
time
public void setLastModified(java.nio.file.Path, java.time.Instant);
descriptor: (Ljava/nio/file/Path;Ljava/time/Instant;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.eclipse.jgit.util.FileUtils.setLastModified:(Ljava/nio/file/Path;Ljava/time/Instant;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 p Ljava/nio/file/Path;
0 2 2 time Ljava/time/Instant;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
time
public long length(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jgit.util.FileUtils.getLength:(Ljava/io/File;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public void delete(java.io.File);
descriptor: (Ljava/io/File;)V
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.delete:(Ljava/io/File;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 f Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
public java.io.File resolve(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
invokevirtual java.io.File.isAbsolute:()Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: java.io.File
StackMap stack:
new java.io.File
dup
aload 1
aload 2
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/util/FS;
0 4 1 dir Ljava/io/File;
0 4 2 name Ljava/lang/String;
1 4 3 abspn Ljava/io/File;
MethodParameters:
Name Flags
dir
name
public java.io.File userHome();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.util.FS.userHome:Lorg/eclipse/jgit/util/FS$Holder;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: new org.eclipse.jgit.util.FS$Holder
dup
aload 0
invokevirtual org.eclipse.jgit.util.FS.userHomeImpl:()Ljava/io/File;
invokespecial org.eclipse.jgit.util.FS$Holder.<init>:(Ljava/lang/Object;)V
astore 1
3: aload 0
aload 1
putfield org.eclipse.jgit.util.FS.userHome:Lorg/eclipse/jgit/util/FS$Holder;
4: StackMap locals: org.eclipse.jgit.util.FS$Holder
StackMap stack:
aload 1
getfield org.eclipse.jgit.util.FS$Holder.value:Ljava/lang/Object;
checkcast java.io.File
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/util/FS;
1 5 1 p Lorg/eclipse/jgit/util/FS$Holder<Ljava/io/File;>;
public org.eclipse.jgit.util.FS setUserHome(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/util/FS;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.eclipse.jgit.util.FS$Holder
dup
aload 1
invokespecial org.eclipse.jgit.util.FS$Holder.<init>:(Ljava/lang/Object;)V
putfield org.eclipse.jgit.util.FS.userHome:Lorg/eclipse/jgit/util/FS$Holder;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 path Ljava/io/File;
MethodParameters:
Name Flags
path
public abstract boolean retryFailedLockFileCommit();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.nio.file.attribute.BasicFileAttributes fileAttributes(java.io.File);
descriptor: (Ljava/io/File;)Ljava/nio/file/attribute/BasicFileAttributes;
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.fileAttributes:(Ljava/io/File;)Ljava/nio/file/attribute/BasicFileAttributes;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 file Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
protected java.io.File userHomeImpl();
descriptor: ()Ljava/io/File;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokedynamic run()Ljava/security/PrivilegedAction;
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;
org/eclipse/jgit/util/FS.lambda$0()Ljava/lang/String; (6)
()Ljava/lang/String;
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
invokevirtual java.lang.String.length:()I
ifne 4
3: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/util/FS;
2 5 1 home Ljava/lang/String;
protected static java.io.File searchPath(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/io/File;
flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 18
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: new java.io.File
dup
aload 2
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 10
start local 10 7: aload 10
invokevirtual java.io.File.isFile:()Z
ifeq 15
8: aload 10
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
9: areturn
10: StackMap locals: java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String int int java.lang.String[] java.io.File
StackMap stack: java.lang.SecurityException
pop
11: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
12: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.skipNotAccessiblePath:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
13: aload 10
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aastore
14: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
end local 10 end local 6 15: StackMap locals: java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 5
end local 2 17: iinc 3 1
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
18: iload 3
iload 4
if_icmplt 3
19: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 path Ljava/lang/String;
0 20 1 lookFor [Ljava/lang/String;
4 17 2 p Ljava/lang/String;
6 15 6 command Ljava/lang/String;
7 15 10 file Ljava/io/File;
Exception table:
from to target type
7 9 10 Class java.lang.SecurityException
MethodParameters:
Name Flags
path
lookFor
protected static java.lang.String readPipe(java.io.File, java.lang.String[], java.lang.String);
descriptor: (Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokestatic org.eclipse.jgit.util.FS.readPipe:(Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dir Ljava/io/File;
0 1 1 command [Ljava/lang/String;
0 1 2 encoding Ljava/lang/String;
Exceptions:
throws org.eclipse.jgit.errors.CommandFailedException
RuntimeVisibleAnnotations:
org.eclipse.jgit.annotations.Nullable()
MethodParameters:
Name Flags
dir
command
encoding
protected static java.lang.String readPipe(java.io.File, java.lang.String[], java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
istore 4
start local 4 1: iload 4
ifeq 5
2: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "readpipe "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
5: StackMap locals: int
StackMap stack:
new java.lang.ProcessBuilder
dup
aload 1
invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
astore 5
start local 5 6: aload 5
aload 0
invokevirtual java.lang.ProcessBuilder.directory:(Ljava/io/File;)Ljava/lang/ProcessBuilder;
pop
7: aload 3
ifnull 9
8: aload 5
invokevirtual java.lang.ProcessBuilder.environment:()Ljava/util/Map;
aload 3
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
9: StackMap locals: java.lang.ProcessBuilder
StackMap stack:
aload 5
invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
astore 6
start local 6 10: goto 13
end local 6 StackMap locals:
StackMap stack: java.io.IOException
11: astore 7
start local 7 12: new org.eclipse.jgit.errors.CommandFailedException
dup
iconst_m1
aload 7
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 7
invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 start local 6 13: StackMap locals: java.lang.Process
StackMap stack:
aload 6
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
14: new org.eclipse.jgit.util.FS$GobblerThread
dup
aload 6
aload 1
aload 0
invokespecial org.eclipse.jgit.util.FS$GobblerThread.<init>:(Ljava/lang/Process;[Ljava/lang/String;Ljava/io/File;)V
astore 7
start local 7 15: aload 7
invokevirtual org.eclipse.jgit.util.FS$GobblerThread.start:()V
16: aconst_null
astore 8
start local 8 17: aconst_null
astore 9
aconst_null
astore 10
18: new java.io.BufferedReader
dup
19: new java.io.InputStreamReader
dup
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
aload 2
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
20: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 11
start local 11 21: aload 11
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 8
22: iload 4
ifeq 29
23: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "readpipe may return '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
24: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
ldc "remaining output:\n"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
25: goto 27
start local 12 26: StackMap locals: java.io.File java.lang.String[] java.lang.String java.util.Map int java.lang.ProcessBuilder java.lang.Process org.eclipse.jgit.util.FS$GobblerThread java.lang.String java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String
StackMap stack:
getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
aload 12
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
end local 12 27: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 12
start local 12 28: ifnonnull 26
end local 12 29: StackMap locals:
StackMap stack:
aload 11
ifnull 35
aload 11
invokevirtual java.io.BufferedReader.close:()V
goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 9
aload 11
ifnull 31
aload 11
invokevirtual java.io.BufferedReader.close:()V
end local 11 StackMap locals:
StackMap stack:
31: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 10
aload 9
ifnonnull 33
aload 10
astore 9
goto 34
StackMap locals:
StackMap stack:
33: aload 9
aload 10
if_acmpeq 34
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 9
athrow
35: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.waitFor:()I
istore 9
start local 9 36: aload 7
invokevirtual org.eclipse.jgit.util.FS$GobblerThread.join:()V
37: iload 9
ifne 40
aload 7
getfield org.eclipse.jgit.util.FS$GobblerThread.fail:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 40
38: aload 8
39: areturn
40: StackMap locals: int
StackMap stack:
iload 4
ifeq 42
41: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "readpipe rc="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
new org.eclipse.jgit.errors.CommandFailedException
dup
iload 9
43: aload 7
getfield org.eclipse.jgit.util.FS$GobblerThread.errorMessage:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.String
44: aload 7
getfield org.eclipse.jgit.util.FS$GobblerThread.exception:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
45: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 46: StackMap locals: java.io.File java.lang.String[] java.lang.String java.util.Map int java.lang.ProcessBuilder java.lang.Process org.eclipse.jgit.util.FS$GobblerThread java.lang.String
StackMap stack: java.lang.InterruptedException
pop
47: goto 35
end local 8 end local 7 end local 6 end local 5 48: StackMap locals: java.io.File java.lang.String[] java.lang.String java.util.Map int
StackMap stack: java.io.IOException
astore 5
start local 5 49: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
ldc "Caught exception in FS.readPipe()"
aload 5
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 50: goto 61
51: StackMap locals:
StackMap stack: java.security.AccessControlException
astore 5
start local 5 52: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
53: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.readPipeIsNotAllowedRequiredPermission:Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
54: aload 1
aastore
dup
iconst_1
aload 0
aastore
dup
iconst_2
aload 5
invokevirtual java.security.AccessControlException.getPermission:()Ljava/security/Permission;
aastore
55: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
end local 5 56: goto 61
57: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
58: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.readPipeIsNotAllowed:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
59: aload 1
aastore
dup
iconst_1
aload 0
aastore
60: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
61: StackMap locals:
StackMap stack:
iload 4
ifeq 63
62: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
ldc "readpipe returns null"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
63: StackMap locals:
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 64 0 dir Ljava/io/File;
0 64 1 command [Ljava/lang/String;
0 64 2 encoding Ljava/lang/String;
0 64 3 env Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 64 4 debug Z
6 48 5 pb Ljava/lang/ProcessBuilder;
10 11 6 p Ljava/lang/Process;
13 48 6 p Ljava/lang/Process;
12 13 7 e Ljava/io/IOException;
15 48 7 gobbler Lorg/eclipse/jgit/util/FS$GobblerThread;
17 48 8 r Ljava/lang/String;
21 31 11 lineRead Ljava/io/BufferedReader;
26 27 12 l Ljava/lang/String;
28 29 12 l Ljava/lang/String;
36 46 9 rc I
49 50 5 e Ljava/io/IOException;
52 56 5 e Ljava/security/AccessControlException;
Exception table:
from to target type
9 10 11 Class java.io.IOException
21 29 30 any
18 32 32 any
35 39 46 Class java.lang.InterruptedException
40 46 46 Class java.lang.InterruptedException
1 39 48 Class java.io.IOException
40 48 48 Class java.io.IOException
1 39 51 Class java.security.AccessControlException
40 48 51 Class java.security.AccessControlException
1 39 57 Class java.lang.SecurityException
40 48 57 Class java.lang.SecurityException
Exceptions:
throws org.eclipse.jgit.errors.CommandFailedException
Signature: (Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/lang/String;
RuntimeVisibleAnnotations:
org.eclipse.jgit.annotations.Nullable()
MethodParameters:
Name Flags
dir
command
encoding
env
protected abstract java.io.File discoverGitExe();
descriptor: ()Ljava/io/File;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected java.io.File discoverGitSystemConfig();
descriptor: ()Ljava/io/File;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jgit.util.FS.discoverGitExe:()Ljava/io/File;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.io.File
StackMap stack:
aload 1
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
4: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "git"
aastore
dup
iconst_1
ldc "--version"
aastore
5: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
6: invokestatic org.eclipse.jgit.util.FS.readPipe:(Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 7: goto 11
end local 2 StackMap locals:
StackMap stack: org.eclipse.jgit.errors.CommandFailedException
8: astore 3
start local 3 9: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
aload 3
invokevirtual org.eclipse.jgit.errors.CommandFailedException.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
10: aconst_null
areturn
end local 3 start local 2 11: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic org.eclipse.jgit.util.StringUtils.isEmptyOrNull:(Ljava/lang/String;)Z
ifne 13
12: aload 2
ifnull 14
aload 2
ldc "jgit"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
13: StackMap locals:
StackMap stack:
aconst_null
areturn
14: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 15: aload 3
ldc "GIT_EDITOR"
ldc "echo"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 1
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
17: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "git"
aastore
dup
iconst_1
ldc "config"
aastore
dup
iconst_2
ldc "--system"
aastore
dup
iconst_3
ldc "--edit"
aastore
18: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
aload 3
19: invokestatic org.eclipse.jgit.util.FS.readPipe:(Ljava/io/File;[Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
astore 4
start local 4 20: goto 24
end local 4 StackMap locals: org.eclipse.jgit.util.FS java.io.File java.lang.String java.util.Map
StackMap stack: org.eclipse.jgit.errors.CommandFailedException
21: astore 5
start local 5 22: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
aload 5
invokevirtual org.eclipse.jgit.errors.CommandFailedException.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
23: aconst_null
areturn
end local 5 start local 4 24: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokestatic org.eclipse.jgit.util.StringUtils.isEmptyOrNull:(Ljava/lang/String;)Z
ifeq 26
25: aconst_null
areturn
26: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 4
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jgit/util/FS;
1 27 1 gitExe Ljava/io/File;
7 8 2 v Ljava/lang/String;
11 27 2 v Ljava/lang/String;
9 11 3 e Lorg/eclipse/jgit/errors/CommandFailedException;
15 27 3 env Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
20 21 4 w Ljava/lang/String;
24 27 4 w Ljava/lang/String;
22 24 5 e Lorg/eclipse/jgit/errors/CommandFailedException;
Exception table:
from to target type
3 7 8 Class org.eclipse.jgit.errors.CommandFailedException
16 20 21 Class org.eclipse.jgit.errors.CommandFailedException
public java.io.File getGitSystemConfig();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
ifnonnull 2
1: aload 0
new org.eclipse.jgit.util.FS$Holder
dup
aload 0
invokevirtual org.eclipse.jgit.util.FS.discoverGitSystemConfig:()Ljava/io/File;
invokespecial org.eclipse.jgit.util.FS$Holder.<init>:(Ljava/lang/Object;)V
putfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
getfield org.eclipse.jgit.util.FS$Holder.value:Ljava/lang/Object;
checkcast java.io.File
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/util/FS;
public org.eclipse.jgit.util.FS setGitSystemConfig(java.io.File);
descriptor: (Ljava/io/File;)Lorg/eclipse/jgit/util/FS;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.eclipse.jgit.util.FS$Holder
dup
aload 1
invokespecial org.eclipse.jgit.util.FS$Holder.<init>:(Ljava/lang/Object;)V
putfield org.eclipse.jgit.util.FS.gitSystemConfig:Lorg/eclipse/jgit/util/FS$Holder;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 configFile Ljava/io/File;
MethodParameters:
Name Flags
configFile
protected static java.io.File resolveGrandparentFile(java.io.File);
descriptor: (Ljava/io/File;)Ljava/io/File;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
areturn
end local 1 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 grandchild Ljava/io/File;
2 4 1 parent Ljava/io/File;
MethodParameters:
Name Flags
grandchild
public java.lang.String readSymLink(java.io.File);
descriptor: (Ljava/io/File;)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.readSymLink:(Ljava/io/File;)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;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public boolean isSymLink(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.isSymlink:(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;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public boolean exists(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.exists:(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;
0 1 1 path Ljava/io/File;
MethodParameters:
Name Flags
path
public boolean isDirectory(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.isDirectory:(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;
0 1 1 path Ljava/io/File;
MethodParameters:
Name Flags
path
public boolean isFile(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.isFile:(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;
0 1 1 path Ljava/io/File;
MethodParameters:
Name Flags
path
public boolean isHidden(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.isHidden:(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;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public void setHidden(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic org.eclipse.jgit.util.FileUtils.setHidden:(Ljava/io/File;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 path Ljava/io/File;
0 2 2 hidden Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
hidden
public void createSymLink(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.eclipse.jgit.util.FileUtils.createSymLink:(Ljava/io/File;Ljava/lang/String;)Ljava/nio/file/Path;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/util/FS;
0 2 1 path Ljava/io/File;
0 2 2 target Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
target
public boolean createNewFile(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
invokevirtual java.io.File.createNewFile:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
path
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=4, locals=2, args_size=2
start local 0 start local 1 0: new org.eclipse.jgit.util.FS$LockToken
dup
aload 1
invokevirtual java.io.File.createNewFile:()Z
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokespecial org.eclipse.jgit.util.FS$LockToken.<init>:(ZLjava/util/Optional;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 path Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
public java.lang.String relativize(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
getstatic java.io.File.separator:Ljava/lang/String;
aload 0
invokevirtual org.eclipse.jgit.util.FS.isCaseSensitive:()Z
invokestatic org.eclipse.jgit.util.FileUtils.relativizePath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 base Ljava/lang/String;
0 1 2 other Ljava/lang/String;
MethodParameters:
Name Flags
base
other
public org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry[] list(java.io.File, org.eclipse.jgit.treewalk.FileTreeIterator$FileModeStrategy);
descriptor: (Ljava/io/File;Lorg/eclipse/jgit/treewalk/FileTreeIterator$FileModeStrategy;)[Lorg/eclipse/jgit/treewalk/WorkingTreeIterator$Entry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: getstatic org.eclipse.jgit.util.FS.NO_ENTRIES:[Lorg/eclipse/jgit/treewalk/WorkingTreeIterator$Entry;
areturn
3: StackMap locals: java.io.File[]
StackMap stack:
aload 3
arraylength
anewarray org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry[] int
StackMap stack:
aload 4
iload 5
new org.eclipse.jgit.treewalk.FileTreeIterator$FileEntry
dup
aload 3
iload 5
aaload
aload 0
aload 2
invokespecial org.eclipse.jgit.treewalk.FileTreeIterator$FileEntry.<init>:(Ljava/io/File;Lorg/eclipse/jgit/util/FS;Lorg/eclipse/jgit/treewalk/FileTreeIterator$FileModeStrategy;)V
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 4
arraylength
if_icmplt 6
end local 5 9: 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 10 0 this Lorg/eclipse/jgit/util/FS;
0 10 1 directory Ljava/io/File;
0 10 2 fileModeStrategy Lorg/eclipse/jgit/treewalk/FileTreeIterator$FileModeStrategy;
1 10 3 all [Ljava/io/File;
4 10 4 result [Lorg/eclipse/jgit/treewalk/WorkingTreeIterator$Entry;
5 9 5 i I
MethodParameters:
Name Flags
directory
fileModeStrategy
public org.eclipse.jgit.util.ProcessResult runHookIfPresent(org.eclipse.jgit.lib.Repository, java.lang.String, java.lang.String[]);
descriptor: (Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jgit/util/ProcessResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
getstatic java.lang.System.out:Ljava/io/PrintStream;
getstatic java.lang.System.err:Ljava/io/PrintStream;
1: aconst_null
2: invokevirtual org.eclipse.jgit.util.FS.runHookIfPresent:(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 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;
0 3 1 repository Lorg/eclipse/jgit/lib/Repository;
0 3 2 hookName Ljava/lang/String;
0 3 3 args [Ljava/lang/String;
Exceptions:
throws org.eclipse.jgit.api.errors.JGitInternalException
MethodParameters:
Name Flags
repository
hookName final
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=3, 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: new org.eclipse.jgit.util.ProcessResult
dup
getstatic org.eclipse.jgit.util.ProcessResult$Status.NOT_SUPPORTED:Lorg/eclipse/jgit/util/ProcessResult$Status;
invokespecial org.eclipse.jgit.util.ProcessResult.<init>:(Lorg/eclipse/jgit/util/ProcessResult$Status;)V
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 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 repository Lorg/eclipse/jgit/lib/Repository;
0 1 2 hookName Ljava/lang/String;
0 1 3 args [Ljava/lang/String;
0 1 4 outRedirect Ljava/io/PrintStream;
0 1 5 errRedirect Ljava/io/PrintStream;
0 1 6 stdinArgs Ljava/lang/String;
Exceptions:
throws org.eclipse.jgit.api.errors.JGitInternalException
MethodParameters:
Name Flags
repository
hookName final
args
outRedirect
errRedirect
stdinArgs
protected org.eclipse.jgit.util.ProcessResult internalRunHookIfPresent(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: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=14, 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
invokevirtual org.eclipse.jgit.util.FS.findHook:(Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Ljava/io/File;
astore 7
start local 7 1: aload 7
ifnonnull 3
2: new org.eclipse.jgit.util.ProcessResult
dup
getstatic org.eclipse.jgit.util.ProcessResult$Status.NOT_PRESENT:Lorg/eclipse/jgit/util/ProcessResult$Status;
invokespecial org.eclipse.jgit.util.ProcessResult.<init>:(Lorg/eclipse/jgit/util/ProcessResult$Status;)V
areturn
3: StackMap locals: java.io.File
StackMap stack:
aload 7
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 8
start local 8 4: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.isBare:()Z
ifeq 7
5: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
astore 9
start local 9 6: goto 8
end local 9 7: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.eclipse.jgit.lib.Repository.getWorkTree:()Ljava/io/File;
astore 9
start local 9 8: StackMap locals: java.io.File
StackMap stack:
aload 0
aload 9
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
9: aload 8
10: invokevirtual org.eclipse.jgit.util.FS.relativize:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 11: aload 0
aload 10
aload 3
invokevirtual org.eclipse.jgit.util.FS.runInShell:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/ProcessBuilder;
astore 11
start local 11 12: aload 11
aload 9
invokevirtual java.lang.ProcessBuilder.directory:(Ljava/io/File;)Ljava/lang/ProcessBuilder;
pop
13: aload 11
invokevirtual java.lang.ProcessBuilder.environment:()Ljava/util/Map;
astore 12
start local 12 14: aload 12
ldc "GIT_DIR"
15: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
16: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.isBare:()Z
ifne 21
18: aload 12
ldc "GIT_WORK_TREE"
19: aload 1
invokevirtual org.eclipse.jgit.lib.Repository.getWorkTree:()Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
20: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: StackMap locals: java.lang.String java.lang.ProcessBuilder java.util.Map
StackMap stack:
new org.eclipse.jgit.util.ProcessResult
dup
aload 0
aload 11
aload 4
22: aload 5
aload 6
23: invokevirtual org.eclipse.jgit.util.FS.runProcess:(Ljava/lang/ProcessBuilder;Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/lang/String;)I
24: getstatic org.eclipse.jgit.util.ProcessResult$Status.OK:Lorg/eclipse/jgit/util/ProcessResult$Status;
25: invokespecial org.eclipse.jgit.util.ProcessResult.<init>:(ILorg/eclipse/jgit/util/ProcessResult$Status;)V
26: areturn
27: StackMap locals:
StackMap stack: java.io.IOException
astore 13
start local 13 28: new org.eclipse.jgit.api.errors.JGitInternalException
dup
29: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.exceptionCaughtDuringExecutionOfHook:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
30: aload 2
aastore
31: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
32: aload 13
33: invokespecial org.eclipse.jgit.api.errors.JGitInternalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 34: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 13
start local 13 35: new org.eclipse.jgit.api.errors.JGitInternalException
dup
36: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.exceptionHookExecutionInterrupted:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
37: aload 2
aastore
38: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
39: aload 13
40: invokespecial org.eclipse.jgit.api.errors.JGitInternalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 41 0 this Lorg/eclipse/jgit/util/FS;
0 41 1 repository Lorg/eclipse/jgit/lib/Repository;
0 41 2 hookName Ljava/lang/String;
0 41 3 args [Ljava/lang/String;
0 41 4 outRedirect Ljava/io/PrintStream;
0 41 5 errRedirect Ljava/io/PrintStream;
0 41 6 stdinArgs Ljava/lang/String;
1 41 7 hookFile Ljava/io/File;
4 41 8 hookPath Ljava/lang/String;
6 7 9 runDirectory Ljava/io/File;
8 41 9 runDirectory Ljava/io/File;
11 41 10 cmd Ljava/lang/String;
12 41 11 hookProcess Ljava/lang/ProcessBuilder;
14 41 12 environment Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
28 34 13 e Ljava/io/IOException;
35 41 13 e Ljava/lang/InterruptedException;
Exception table:
from to target type
21 26 27 Class java.io.IOException
21 26 34 Class java.lang.InterruptedException
Exceptions:
throws org.eclipse.jgit.api.errors.JGitInternalException
MethodParameters:
Name Flags
repository
hookName final
args
outRedirect
errRedirect
stdinArgs
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=6, 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:
new java.io.File
dup
new java.io.File
dup
aload 3
4: ldc "hooks"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
aload 2
5: invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 4
start local 4 6: aload 4
invokevirtual java.io.File.isFile:()Z
ifeq 7
aload 4
goto 8
StackMap locals: java.io.File
StackMap stack:
7: aconst_null
StackMap locals:
StackMap stack: java.io.File
8: 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;
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 hookFile Ljava/io/File;
MethodParameters:
Name Flags
repository
hookName
public int runProcess(java.lang.ProcessBuilder, java.io.OutputStream, java.io.OutputStream, java.lang.String);
descriptor: (Ljava/lang/ProcessBuilder;Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
ifnonnull 1
aconst_null
goto 3
StackMap locals:
StackMap stack:
1: new java.io.ByteArrayInputStream
dup
2: aload 4
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
3: StackMap locals:
StackMap stack: java.io.ByteArrayInputStream
astore 5
start local 5 4: aload 0
aload 1
aload 2
aload 3
aload 5
invokevirtual org.eclipse.jgit.util.FS.runProcess:(Ljava/lang/ProcessBuilder;Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/io/InputStream;)I
ireturn
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 5 0 this Lorg/eclipse/jgit/util/FS;
0 5 1 processBuilder Ljava/lang/ProcessBuilder;
0 5 2 outRedirect Ljava/io/OutputStream;
0 5 3 errRedirect Ljava/io/OutputStream;
0 5 4 stdinArgs Ljava/lang/String;
4 5 5 in Ljava/io/InputStream;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
processBuilder
outRedirect
errRedirect
stdinArgs
public int runProcess(java.lang.ProcessBuilder, java.io.OutputStream, java.io.OutputStream, java.io.InputStream);
descriptor: (Ljava/lang/ProcessBuilder;Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/io/InputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_2
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aload 1
invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
astore 6
4: aload 5
5: new org.eclipse.jgit.util.FS$StreamGobbler
dup
aload 6
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
aload 3
invokespecial org.eclipse.jgit.util.FS$StreamGobbler.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
6: invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
7: aload 5
8: new org.eclipse.jgit.util.FS$StreamGobbler
dup
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
aload 2
invokespecial org.eclipse.jgit.util.FS$StreamGobbler.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
9: invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
10: aload 6
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
astore 8
start local 8 11: aload 4
ifnull 19
12: new org.eclipse.jgit.util.FS$StreamGobbler
dup
aload 4
aload 8
invokespecial org.eclipse.jgit.util.FS$StreamGobbler.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
invokevirtual org.eclipse.jgit.util.FS$StreamGobbler.copy:()V
13: goto 19
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException java.io.OutputStream
StackMap stack: java.lang.Throwable
14: astore 9
15: aload 8
invokevirtual java.io.OutputStream.close:()V
16: goto 18
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException java.io.OutputStream java.lang.Throwable
StackMap stack: java.io.IOException
17: pop
18: StackMap locals:
StackMap stack:
aload 9
athrow
19: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.io.OutputStream.close:()V
20: goto 22
StackMap locals:
StackMap stack: java.io.IOException
21: pop
22: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.waitFor:()I
istore 11
23: aload 5
invokestatic org.eclipse.jgit.util.FS.shutdownAndAwaitTermination:(Ljava/util/concurrent/ExecutorService;)Z
pop
24: aload 6
ifnull 50
25: aload 6
invokevirtual java.lang.Process.waitFor:()I
pop
26: goto 29
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException java.io.OutputStream top top int
StackMap stack: java.lang.InterruptedException
27: pop
28: invokestatic java.lang.Thread.interrupted:()Z
pop
29: StackMap locals:
StackMap stack:
aload 4
ifnull 31
30: aload 4
invokevirtual java.io.InputStream.close:()V
31: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
32: goto 37
StackMap locals:
StackMap stack: java.io.IOException
33: astore 12
start local 12 34: aload 7
ifnull 35
aload 7
goto 36
StackMap locals: java.io.IOException
StackMap stack:
35: aload 12
StackMap locals:
StackMap stack: java.io.IOException
36: astore 7
end local 12 37: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
38: goto 43
StackMap locals:
StackMap stack: java.io.IOException
39: astore 12
start local 12 40: aload 7
ifnull 41
aload 7
goto 42
StackMap locals: java.io.IOException
StackMap stack:
41: aload 12
StackMap locals:
StackMap stack: java.io.IOException
42: astore 7
end local 12 43: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
44: goto 49
StackMap locals:
StackMap stack: java.io.IOException
45: astore 12
start local 12 46: aload 7
ifnull 47
aload 7
goto 48
StackMap locals: java.io.IOException
StackMap stack:
47: aload 12
StackMap locals:
StackMap stack: java.io.IOException
48: astore 7
end local 12 49: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.destroy:()V
50: StackMap locals:
StackMap stack:
iload 11
ireturn
end local 8 51: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException
StackMap stack: java.io.IOException
astore 8
start local 8 52: aload 8
astore 7
end local 8 53: aload 5
invokestatic org.eclipse.jgit.util.FS.shutdownAndAwaitTermination:(Ljava/util/concurrent/ExecutorService;)Z
pop
54: aload 6
ifnull 109
55: aload 6
invokevirtual java.lang.Process.waitFor:()I
pop
56: goto 59
StackMap locals:
StackMap stack: java.lang.InterruptedException
57: pop
58: invokestatic java.lang.Thread.interrupted:()Z
pop
59: StackMap locals:
StackMap stack:
aload 4
ifnull 61
60: aload 4
invokevirtual java.io.InputStream.close:()V
61: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
62: goto 67
StackMap locals:
StackMap stack: java.io.IOException
63: astore 12
start local 12 64: aload 7
ifnull 65
aload 7
goto 66
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top top top java.io.IOException
StackMap stack:
65: aload 12
StackMap locals:
StackMap stack: java.io.IOException
66: astore 7
end local 12 67: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException
StackMap stack:
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
68: goto 73
StackMap locals:
StackMap stack: java.io.IOException
69: astore 12
start local 12 70: aload 7
ifnull 71
aload 7
goto 72
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top top top java.io.IOException
StackMap stack:
71: aload 12
StackMap locals:
StackMap stack: java.io.IOException
72: astore 7
end local 12 73: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException
StackMap stack:
aload 6
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
74: goto 79
StackMap locals:
StackMap stack: java.io.IOException
75: astore 12
start local 12 76: aload 7
ifnull 77
aload 7
goto 78
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top top top java.io.IOException
StackMap stack:
77: aload 12
StackMap locals:
StackMap stack: java.io.IOException
78: astore 7
end local 12 79: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException
StackMap stack:
aload 6
invokevirtual java.lang.Process.destroy:()V
goto 109
80: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
81: aload 5
invokestatic org.eclipse.jgit.util.FS.shutdownAndAwaitTermination:(Ljava/util/concurrent/ExecutorService;)Z
pop
82: aload 6
ifnull 108
83: aload 6
invokevirtual java.lang.Process.waitFor:()I
pop
84: goto 87
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable
StackMap stack: java.lang.InterruptedException
85: pop
86: invokestatic java.lang.Thread.interrupted:()Z
pop
87: StackMap locals:
StackMap stack:
aload 4
ifnull 89
88: aload 4
invokevirtual java.io.InputStream.close:()V
89: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
90: goto 95
StackMap locals:
StackMap stack: java.io.IOException
91: astore 12
start local 12 92: aload 7
ifnull 93
aload 7
goto 94
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable top java.io.IOException
StackMap stack:
93: aload 12
StackMap locals:
StackMap stack: java.io.IOException
94: astore 7
end local 12 95: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable
StackMap stack:
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
96: goto 101
StackMap locals:
StackMap stack: java.io.IOException
97: astore 12
start local 12 98: aload 7
ifnull 99
aload 7
goto 100
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable top java.io.IOException
StackMap stack:
99: aload 12
StackMap locals:
StackMap stack: java.io.IOException
100: astore 7
end local 12 101: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable
StackMap stack:
aload 6
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
102: goto 107
StackMap locals:
StackMap stack: java.io.IOException
103: astore 12
start local 12 104: aload 7
ifnull 105
aload 7
goto 106
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable top java.io.IOException
StackMap stack:
105: aload 12
StackMap locals:
StackMap stack: java.io.IOException
106: astore 7
end local 12 107: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException top top java.lang.Throwable
StackMap stack:
aload 6
invokevirtual java.lang.Process.destroy:()V
108: StackMap locals:
StackMap stack:
aload 10
athrow
109: StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.concurrent.ExecutorService java.lang.Process java.io.IOException
StackMap stack:
aload 7
athrow
end local 7 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 110 0 this Lorg/eclipse/jgit/util/FS;
0 110 1 processBuilder Ljava/lang/ProcessBuilder;
0 110 2 outRedirect Ljava/io/OutputStream;
0 110 3 errRedirect Ljava/io/OutputStream;
0 110 4 inRedirect Ljava/io/InputStream;
1 110 5 executor Ljava/util/concurrent/ExecutorService;
2 110 6 process Ljava/lang/Process;
3 110 7 ioException Ljava/io/IOException;
11 51 8 outputStream Ljava/io/OutputStream;
52 53 8 e Ljava/io/IOException;
34 37 12 e Ljava/io/IOException;
64 67 12 e Ljava/io/IOException;
92 95 12 e Ljava/io/IOException;
40 43 12 e Ljava/io/IOException;
70 73 12 e Ljava/io/IOException;
98 101 12 e Ljava/io/IOException;
46 49 12 e Ljava/io/IOException;
76 79 12 e Ljava/io/IOException;
104 107 12 e Ljava/io/IOException;
Exception table:
from to target type
11 14 14 any
15 16 17 Class java.io.IOException
19 20 21 Class java.io.IOException
25 26 27 Class java.lang.InterruptedException
31 32 33 Class java.io.IOException
37 38 39 Class java.io.IOException
43 44 45 Class java.io.IOException
3 23 51 Class java.io.IOException
55 56 57 Class java.lang.InterruptedException
61 62 63 Class java.io.IOException
67 68 69 Class java.io.IOException
73 74 75 Class java.io.IOException
3 23 80 any
51 53 80 any
83 84 85 Class java.lang.InterruptedException
89 90 91 Class java.io.IOException
95 96 97 Class java.io.IOException
101 102 103 Class java.io.IOException
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
processBuilder
outRedirect
errRedirect
inRedirect
private static boolean shutdownAndAwaitTermination(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
2: aload 0
ldc 60
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ifne 11
3: aload 0
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
pop
4: aload 0
ldc 60
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ifne 11
5: iconst_0
istore 1
6: goto 11
StackMap locals: java.util.concurrent.ExecutorService int
StackMap stack: java.lang.InterruptedException
7: pop
8: aload 0
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
pop
9: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
10: iconst_0
istore 1
11: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 pool Ljava/util/concurrent/ExecutorService;
1 12 1 hasShutdown Z
Exception table:
from to target type
2 6 7 Class java.lang.InterruptedException
MethodParameters:
Name Flags
pool
public abstract java.lang.ProcessBuilder runInShell(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/ProcessBuilder;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
cmd
args
public org.eclipse.jgit.util.FS$ExecutionResult execute(java.lang.ProcessBuilder, java.io.InputStream);
descriptor: (Ljava/lang/ProcessBuilder;Ljava/io/InputStream;)Lorg/eclipse/jgit/util/FS$ExecutionResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: new org.eclipse.jgit.util.TemporaryBuffer$LocalFile
dup
aconst_null
invokespecial org.eclipse.jgit.util.TemporaryBuffer$LocalFile.<init>:(Ljava/io/File;)V
astore 5
start local 5 2: new org.eclipse.jgit.util.TemporaryBuffer$Heap
dup
sipush 1024
3: ldc 1048576
4: invokespecial org.eclipse.jgit.util.TemporaryBuffer$Heap.<init>:(II)V
astore 6
start local 6 5: aload 0
aload 1
aload 5
aload 6
aload 2
invokevirtual org.eclipse.jgit.util.FS.runProcess:(Ljava/lang/ProcessBuilder;Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/io/InputStream;)I
istore 7
start local 7 6: new org.eclipse.jgit.util.FS$ExecutionResult
dup
aload 5
aload 6
iload 7
invokespecial org.eclipse.jgit.util.FS$ExecutionResult.<init>:(Lorg/eclipse/jgit/util/TemporaryBuffer;Lorg/eclipse/jgit/util/TemporaryBuffer;I)V
7: aload 6
ifnull 8
aload 6
invokevirtual org.eclipse.jgit.util.TemporaryBuffer.close:()V
StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.InputStream java.lang.Throwable java.lang.Throwable org.eclipse.jgit.util.TemporaryBuffer org.eclipse.jgit.util.TemporaryBuffer int
StackMap stack: org.eclipse.jgit.util.FS$ExecutionResult
8: aload 5
ifnull 9
aload 5
invokevirtual org.eclipse.jgit.util.TemporaryBuffer.close:()V
9: StackMap locals:
StackMap stack: org.eclipse.jgit.util.FS$ExecutionResult
areturn
end local 7 StackMap locals: org.eclipse.jgit.util.FS java.lang.ProcessBuilder java.io.InputStream java.lang.Throwable java.lang.Throwable org.eclipse.jgit.util.TemporaryBuffer org.eclipse.jgit.util.TemporaryBuffer
StackMap stack: java.lang.Throwable
10: astore 3
11: aload 6
ifnull 12
aload 6
invokevirtual org.eclipse.jgit.util.TemporaryBuffer.close:()V
end local 6 StackMap locals:
StackMap stack:
12: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 4
aload 3
ifnonnull 14
aload 4
astore 3
goto 15
StackMap locals:
StackMap stack:
14: aload 3
aload 4
if_acmpeq 15
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 5
ifnull 16
aload 5
invokevirtual org.eclipse.jgit.util.TemporaryBuffer.close:()V
end local 5 StackMap locals:
StackMap stack:
16: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 4
aload 3
ifnonnull 18
aload 4
astore 3
goto 19
StackMap locals:
StackMap stack:
18: aload 3
aload 4
if_acmpeq 19
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jgit/util/FS;
0 20 1 pb Ljava/lang/ProcessBuilder;
0 20 2 in Ljava/io/InputStream;
2 16 5 stdout Lorg/eclipse/jgit/util/TemporaryBuffer;
5 12 6 stderr Lorg/eclipse/jgit/util/TemporaryBuffer;
6 10 7 rc I
Exception table:
from to target type
5 7 10 any
2 8 13 any
10 13 13 any
1 9 17 any
10 17 17 any
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
pb
in
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=14, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.jgit.util.FS.isDirectory:(Ljava/io/File;)Z
istore 2
start local 2 1: iload 2
ifne 2
aload 1
invokevirtual java.io.File.isFile:()Z
ifeq 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: getstatic org.eclipse.jgit.util.FS.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual java.io.File.exists:()Z
iload 2
if_icmpeq 5
iload 3
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: int
StackMap stack:
iload 2
ifne 6
iload 3
ifne 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: iload 4
ifeq 9
iload 2
ifne 9
aload 0
aload 1
invokevirtual org.eclipse.jgit.util.FS.canExecute:(Ljava/io/File;)Z
ifeq 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 5
start local 5 11: iconst_0
istore 6
start local 6 12: iload 4
ifeq 13
aload 0
aload 1
invokevirtual org.eclipse.jgit.util.FS.lastModifiedInstant:(Ljava/io/File;)Ljava/time/Instant;
goto 14
StackMap locals: int int
StackMap stack:
13: getstatic java.time.Instant.EPOCH:Ljava/time/Instant;
StackMap locals:
StackMap stack: java.time.Instant
14: astore 7
start local 7 15: lconst_0
lstore 8
start local 8 16: new org.eclipse.jgit.util.FS$Attributes
dup
aload 0
aload 1
iload 4
iload 2
iload 5
17: iload 6
iload 3
lload 8
aload 7
ldc -1
18: invokespecial org.eclipse.jgit.util.FS$Attributes.<init>:(Lorg/eclipse/jgit/util/FS;Ljava/io/File;ZZZZZJLjava/time/Instant;J)V
areturn
end local 8 end local 7 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 19 0 this Lorg/eclipse/jgit/util/FS;
0 19 1 path Ljava/io/File;
1 19 2 isDirectory Z
4 19 3 isFile Z
8 19 4 exists Z
11 19 5 canExecute Z
12 19 6 isSymlink Z
15 19 7 lastModified Ljava/time/Instant;
16 19 8 createTime J
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
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
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
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/FS;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
static org.slf4j.Logger access$0();
descriptor: ()Lorg/slf4j/Logger;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.eclipse.jgit.util.FS.LOG:Lorg/slf4j/Logger;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FS.java"
NestMembers:
org.eclipse.jgit.util.FS$Attributes org.eclipse.jgit.util.FS$ExecutionResult org.eclipse.jgit.util.FS$FSFactory org.eclipse.jgit.util.FS$FileStoreAttributes org.eclipse.jgit.util.FS$GobblerThread org.eclipse.jgit.util.FS$Holder org.eclipse.jgit.util.FS$LockToken org.eclipse.jgit.util.FS$StreamGobbler
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public FileEntry = org.eclipse.jgit.treewalk.FileTreeIterator$FileEntry of org.eclipse.jgit.treewalk.FileTreeIterator
public abstract FileModeStrategy = org.eclipse.jgit.treewalk.FileTreeIterator$FileModeStrategy of org.eclipse.jgit.treewalk.FileTreeIterator
public abstract Entry = org.eclipse.jgit.treewalk.WorkingTreeIterator$Entry of org.eclipse.jgit.treewalk.WorkingTreeIterator
public Attributes = org.eclipse.jgit.util.FS$Attributes of org.eclipse.jgit.util.FS
public ExecutionResult = org.eclipse.jgit.util.FS$ExecutionResult of org.eclipse.jgit.util.FS
public FSFactory = org.eclipse.jgit.util.FS$FSFactory of org.eclipse.jgit.util.FS
public final FileStoreAttributes = org.eclipse.jgit.util.FS$FileStoreAttributes of org.eclipse.jgit.util.FS
private GobblerThread = org.eclipse.jgit.util.FS$GobblerThread of org.eclipse.jgit.util.FS
private Holder = org.eclipse.jgit.util.FS$Holder of org.eclipse.jgit.util.FS
public LockToken = org.eclipse.jgit.util.FS$LockToken of org.eclipse.jgit.util.FS
private StreamGobbler = org.eclipse.jgit.util.FS$StreamGobbler of org.eclipse.jgit.util.FS
public final Status = org.eclipse.jgit.util.ProcessResult$Status of org.eclipse.jgit.util.ProcessResult
public Heap = org.eclipse.jgit.util.TemporaryBuffer$Heap of org.eclipse.jgit.util.TemporaryBuffer
public LocalFile = org.eclipse.jgit.util.TemporaryBuffer$LocalFile of org.eclipse.jgit.util.TemporaryBuffer