public class org.eclipse.jgit.util.SshSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.util.SshSupport
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/util/SshSupport;
public static java.lang.String runSshCommand(org.eclipse.jgit.transport.URIish, org.eclipse.jgit.transport.CredentialsProvider, org.eclipse.jgit.util.FS, java.lang.String, int);
descriptor: (Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aconst_null
astore 8
start local 8 4: aconst_null
astore 9
start local 9 5: new org.eclipse.jgit.util.io.MessageWriter
dup
invokespecial org.eclipse.jgit.util.io.MessageWriter.<init>:()V
astore 10
start local 10 6: new org.eclipse.jgit.util.io.MessageWriter
dup
invokespecial org.eclipse.jgit.util.io.MessageWriter.<init>:()V
astore 11
start local 11 7: invokestatic java.lang.System.nanoTime:()J
lstore 13
start local 13 8: invokestatic org.eclipse.jgit.transport.SshSessionFactory.getInstance:()Lorg/eclipse/jgit/transport/SshSessionFactory;
aload 0
9: aload 1
aload 2
sipush 1000
iload 4
imul
10: invokevirtual org.eclipse.jgit.transport.SshSessionFactory.getSession:(Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;I)Lorg/eclipse/jgit/transport/RemoteSession;
astore 5
11: iload 4
istore 15
start local 15 12: iload 4
ifle 14
13: aload 3
iload 4
lload 13
invokestatic org.eclipse.jgit.util.SshSupport.checkTimeout:(Ljava/lang/String;IJ)I
istore 15
14: StackMap locals: org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS java.lang.String int org.eclipse.jgit.transport.RemoteSession java.lang.Process org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.errors.CommandFailedException org.eclipse.jgit.util.io.MessageWriter org.eclipse.jgit.util.io.MessageWriter top long int
StackMap stack:
aload 5
aload 3
iload 15
invokeinterface org.eclipse.jgit.transport.RemoteSession.exec:(Ljava/lang/String;I)Ljava/lang/Process;
astore 6
15: iload 4
ifle 17
16: aload 3
iload 4
lload 13
invokestatic org.eclipse.jgit.util.SshSupport.checkTimeout:(Ljava/lang/String;IJ)I
istore 15
17: StackMap locals:
StackMap stack:
new org.eclipse.jgit.util.io.StreamCopyThread
dup
aload 6
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
18: aload 10
invokevirtual org.eclipse.jgit.util.io.MessageWriter.getRawStream:()Ljava/io/OutputStream;
19: invokespecial org.eclipse.jgit.util.io.StreamCopyThread.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 7
20: aload 7
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.start:()V
21: new org.eclipse.jgit.util.io.StreamCopyThread
dup
aload 6
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
22: aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.getRawStream:()Ljava/io/OutputStream;
23: invokespecial org.eclipse.jgit.util.io.StreamCopyThread.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 8
24: aload 8
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.start:()V
25: iconst_0
istore 16
start local 16 26: iload 4
ifgt 30
27: aload 6
invokevirtual java.lang.Process.waitFor:()I
pop
28: iconst_1
istore 16
29: goto 33
30: StackMap locals: int
StackMap stack:
aload 6
iload 15
i2l
31: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
32: invokevirtual java.lang.Process.waitFor:(JLjava/util/concurrent/TimeUnit;)Z
istore 16
33: StackMap locals:
StackMap stack:
iload 16
ifeq 36
34: aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.toString:()Ljava/lang/String;
astore 12
start local 12 35: goto 82
end local 12 36: StackMap locals:
StackMap stack:
aconst_null
astore 12
end local 16 start local 12 37: goto 82
end local 12 StackMap locals: org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS java.lang.String int org.eclipse.jgit.transport.RemoteSession java.lang.Process org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.errors.CommandFailedException org.eclipse.jgit.util.io.MessageWriter org.eclipse.jgit.util.io.MessageWriter top long int
StackMap stack: java.lang.InterruptedException
38: pop
39: aconst_null
astore 12
end local 15 end local 13 start local 12 40: goto 82
end local 12 StackMap locals: org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS java.lang.String int org.eclipse.jgit.transport.RemoteSession java.lang.Process org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.errors.CommandFailedException org.eclipse.jgit.util.io.MessageWriter org.eclipse.jgit.util.io.MessageWriter
StackMap stack: java.lang.Throwable
41: astore 17
42: aload 7
ifnull 51
43: aload 7
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.halt:()V
44: goto 50
StackMap locals: org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS java.lang.String int org.eclipse.jgit.transport.RemoteSession java.lang.Process org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.errors.CommandFailedException org.eclipse.jgit.util.io.MessageWriter org.eclipse.jgit.util.io.MessageWriter top top top top top java.lang.Throwable
StackMap stack: java.lang.InterruptedException
45: pop
46: aconst_null
astore 7
goto 51
47: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
48: aconst_null
astore 7
49: aload 18
athrow
50: StackMap locals:
StackMap stack:
aconst_null
astore 7
51: StackMap locals:
StackMap stack:
aload 8
ifnull 60
52: aload 8
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.halt:()V
53: goto 59
StackMap locals:
StackMap stack: java.lang.InterruptedException
54: pop
55: aconst_null
astore 8
goto 60
56: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
57: aconst_null
astore 8
58: aload 18
athrow
59: StackMap locals:
StackMap stack:
aconst_null
astore 8
60: StackMap locals:
StackMap stack:
aload 6
ifnull 77
61: aload 6
invokevirtual java.lang.Process.exitValue:()I
ifeq 68
62: new org.eclipse.jgit.errors.CommandFailedException
dup
63: aload 6
invokevirtual java.lang.Process.exitValue:()I
64: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.sshCommandFailed:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
65: aload 3
aastore
dup
iconst_1
aload 10
invokevirtual org.eclipse.jgit.util.io.MessageWriter.toString:()Ljava/lang/String;
aastore
66: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
67: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;)V
astore 9
68: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.toString:()Ljava/lang/String;
astore 12
start local 12 69: goto 76
end local 12 StackMap locals:
StackMap stack: java.lang.IllegalThreadStateException
70: pop
71: new org.eclipse.jgit.errors.CommandFailedException
dup
iconst_0
72: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.sshCommandTimeout:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
73: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
74: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
75: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;)V
astore 9
76: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.destroy:()V
77: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jgit.util.io.MessageWriter.close:()V
78: aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.close:()V
79: aload 5
ifnull 81
80: invokestatic org.eclipse.jgit.transport.SshSessionFactory.getInstance:()Lorg/eclipse/jgit/transport/SshSessionFactory;
aload 5
invokevirtual org.eclipse.jgit.transport.SshSessionFactory.releaseSession:(Lorg/eclipse/jgit/transport/RemoteSession;)V
81: StackMap locals:
StackMap stack:
aload 17
athrow
start local 12 82: StackMap locals: org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS java.lang.String int org.eclipse.jgit.transport.RemoteSession java.lang.Process org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.util.io.StreamCopyThread org.eclipse.jgit.errors.CommandFailedException org.eclipse.jgit.util.io.MessageWriter org.eclipse.jgit.util.io.MessageWriter java.lang.String
StackMap stack:
aload 7
ifnull 91
83: aload 7
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.halt:()V
84: goto 90
StackMap locals:
StackMap stack: java.lang.InterruptedException
85: pop
86: aconst_null
astore 7
goto 91
87: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
88: aconst_null
astore 7
89: aload 18
athrow
90: StackMap locals:
StackMap stack:
aconst_null
astore 7
91: StackMap locals:
StackMap stack:
aload 8
ifnull 100
92: aload 8
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.halt:()V
93: goto 99
StackMap locals:
StackMap stack: java.lang.InterruptedException
94: pop
95: aconst_null
astore 8
goto 100
96: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
97: aconst_null
astore 8
98: aload 18
athrow
99: StackMap locals:
StackMap stack:
aconst_null
astore 8
100: StackMap locals:
StackMap stack:
aload 6
ifnull 117
101: aload 6
invokevirtual java.lang.Process.exitValue:()I
ifeq 108
102: new org.eclipse.jgit.errors.CommandFailedException
dup
103: aload 6
invokevirtual java.lang.Process.exitValue:()I
104: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.sshCommandFailed:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
105: aload 3
aastore
dup
iconst_1
aload 10
invokevirtual org.eclipse.jgit.util.io.MessageWriter.toString:()Ljava/lang/String;
aastore
106: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
107: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;)V
astore 9
108: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.toString:()Ljava/lang/String;
astore 12
109: goto 116
StackMap locals:
StackMap stack: java.lang.IllegalThreadStateException
110: pop
111: new org.eclipse.jgit.errors.CommandFailedException
dup
iconst_0
112: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.sshCommandTimeout:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
113: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
114: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
115: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;)V
astore 9
116: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Process.destroy:()V
117: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.eclipse.jgit.util.io.MessageWriter.close:()V
118: aload 11
invokevirtual org.eclipse.jgit.util.io.MessageWriter.close:()V
119: aload 5
ifnull 121
120: invokestatic org.eclipse.jgit.transport.SshSessionFactory.getInstance:()Lorg/eclipse/jgit/transport/SshSessionFactory;
aload 5
invokevirtual org.eclipse.jgit.transport.SshSessionFactory.releaseSession:(Lorg/eclipse/jgit/transport/RemoteSession;)V
121: StackMap locals:
StackMap stack:
aload 9
ifnull 123
122: aload 9
athrow
123: StackMap locals:
StackMap stack:
aload 12
areturn
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 124 0 sshUri Lorg/eclipse/jgit/transport/URIish;
0 124 1 provider Lorg/eclipse/jgit/transport/CredentialsProvider;
0 124 2 fs Lorg/eclipse/jgit/util/FS;
0 124 3 command Ljava/lang/String;
0 124 4 timeout I
1 124 5 session Lorg/eclipse/jgit/transport/RemoteSession;
2 124 6 process Ljava/lang/Process;
3 124 7 errorThread Lorg/eclipse/jgit/util/io/StreamCopyThread;
4 124 8 outThread Lorg/eclipse/jgit/util/io/StreamCopyThread;
5 124 9 failure Lorg/eclipse/jgit/errors/CommandFailedException;
6 124 10 stderr Lorg/eclipse/jgit/util/io/MessageWriter;
7 124 11 stdout Lorg/eclipse/jgit/util/io/MessageWriter;
35 36 12 out Ljava/lang/String;
37 38 12 out Ljava/lang/String;
40 41 12 out Ljava/lang/String;
69 70 12 out Ljava/lang/String;
82 124 12 out Ljava/lang/String;
8 40 13 start J
12 40 15 commandTimeout I
26 37 16 finished Z
Exception table:
from to target type
25 37 38 Class java.lang.InterruptedException
7 41 41 any
43 44 45 Class java.lang.InterruptedException
43 46 47 any
52 53 54 Class java.lang.InterruptedException
52 55 56 any
61 69 70 Class java.lang.IllegalThreadStateException
83 84 85 Class java.lang.InterruptedException
83 86 87 any
92 93 94 Class java.lang.InterruptedException
92 95 96 any
101 109 110 Class java.lang.IllegalThreadStateException
Exceptions:
throws java.io.IOException, org.eclipse.jgit.errors.CommandFailedException
RuntimeVisibleParameterAnnotations:
0:
1:
org.eclipse.jgit.annotations.Nullable()
2:
3:
4:
MethodParameters:
Name Flags
sshUri
provider
fs
command
timeout
private static int checkTimeout(java.lang.String, int, long);
descriptor: (Ljava/lang/String;IJ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
lstore 4
start local 4 1: iload 1
2: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 4
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
l2i
3: isub
istore 6
start local 6 4: iload 6
ifgt 10
5: new org.eclipse.jgit.errors.CommandFailedException
dup
iconst_0
6: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.sshCommandTimeout:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
7: aload 0
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
8: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: invokespecial org.eclipse.jgit.errors.CommandFailedException.<init>:(ILjava/lang/String;)V
athrow
10: StackMap locals: long int
StackMap stack:
iload 6
ireturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 command Ljava/lang/String;
0 11 1 timeout I
0 11 2 since J
1 11 4 elapsed J
4 11 6 newTimeout I
Exceptions:
throws org.eclipse.jgit.errors.CommandFailedException
MethodParameters:
Name Flags
command
timeout
since
}
SourceFile: "SshSupport.java"