class org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection extends org.eclipse.jgit.transport.BasePackPushConnection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection
super_class: org.eclipse.jgit.transport.BasePackPushConnection
{
private final java.lang.Process process;
descriptor: Ljava/lang/Process;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.eclipse.jgit.util.io.StreamCopyThread errorThread;
descriptor: Lorg/eclipse/jgit/util/io/StreamCopyThread;
flags: (0x0002) ACC_PRIVATE
final org.eclipse.jgit.transport.TransportGitSsh this$0;
descriptor: Lorg/eclipse/jgit/transport/TransportGitSsh;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.eclipse.jgit.transport.TransportGitSsh);
descriptor: (Lorg/eclipse/jgit/transport/TransportGitSsh;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 // org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection this
0: .line 310
aload 0 /* this */
aload 1
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.this$0:Lorg/eclipse/jgit/transport/TransportGitSsh;
1: .line 311
aload 0 /* this */
aload 1
invokespecial org.eclipse.jgit.transport.BasePackPushConnection.<init>:(Lorg/eclipse/jgit/transport/PackTransport;)V
2: .line 313
aload 0 /* this */
aload 1
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.getSession:()Lorg/eclipse/jgit/transport/RemoteSession;
aload 1
aload 1
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.getOptionReceivePack:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.commandFor:(Ljava/lang/String;)Ljava/lang/String;
3: .line 314
aload 1
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.getTimeout:()I
4: .line 313
invokeinterface org.eclipse.jgit.transport.RemoteSession.exec:(Ljava/lang/String;I)Ljava/lang/Process;
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
5: .line 315
new org.eclipse.jgit.util.io.MessageWriter
dup
invokespecial org.eclipse.jgit.util.io.MessageWriter.<init>:()V
astore 2 /* msg */
start local 2 // org.eclipse.jgit.util.io.MessageWriter msg
6: .line 316
aload 0 /* this */
aload 2 /* msg */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.setMessageWriter:(Ljava/io/Writer;)V
7: .line 318
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
astore 3 /* rpErr */
start local 3 // java.io.InputStream rpErr
8: .line 319
aload 0 /* this */
new org.eclipse.jgit.util.io.StreamCopyThread
dup
aload 3 /* rpErr */
aload 2 /* msg */
invokevirtual org.eclipse.jgit.util.io.MessageWriter.getRawStream:()Ljava/io/OutputStream;
invokespecial org.eclipse.jgit.util.io.StreamCopyThread.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
9: .line 320
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.start:()V
10: .line 322
aload 0 /* this */
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.getOutputStream:()Ljava/io/OutputStream;
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.init:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
end local 3 // java.io.InputStream rpErr
end local 2 // org.eclipse.jgit.util.io.MessageWriter msg
11: .line 324
goto 24
StackMap locals: org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection org.eclipse.jgit.transport.TransportGitSsh
StackMap stack: org.eclipse.jgit.errors.TransportException
12: astore 2 /* err */
start local 2 // org.eclipse.jgit.errors.TransportException err
13: .line 326
aload 0 /* this */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.close:()V
14: .line 327
goto 16
StackMap locals: org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection org.eclipse.jgit.transport.TransportGitSsh org.eclipse.jgit.errors.TransportException
StackMap stack: java.lang.Exception
15: pop
16: .line 330
StackMap locals:
StackMap stack:
aload 2 /* err */
athrow
end local 2 // org.eclipse.jgit.errors.TransportException err
17: .line 331
StackMap locals: org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection org.eclipse.jgit.transport.TransportGitSsh
StackMap stack: java.lang.Throwable
astore 2 /* err */
start local 2 // java.lang.Throwable err
18: .line 333
aload 0 /* this */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.close:()V
19: .line 334
goto 21
StackMap locals: org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection org.eclipse.jgit.transport.TransportGitSsh java.lang.Throwable
StackMap stack: java.lang.Exception
20: pop
21: .line 337
StackMap locals:
StackMap stack:
new org.eclipse.jgit.errors.TransportException
dup
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.uri:Lorg/eclipse/jgit/transport/URIish;
22: .line 338
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.remoteHungUpUnexpectedly:Ljava/lang/String;
aload 2 /* err */
23: .line 337
invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.lang.Throwable err
24: .line 342
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.readAdvertisedRefs:()V
25: .line 343
goto 32
StackMap locals:
StackMap stack: org.eclipse.jgit.errors.NoRemoteRepositoryException
26: astore 2 /* notFound */
start local 2 // org.eclipse.jgit.errors.NoRemoteRepositoryException notFound
27: .line 344
aload 0 /* this */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.getMessages:()Ljava/lang/String;
astore 3 /* msgs */
start local 3 // java.lang.String msgs
28: .line 345
aload 1
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.exitValue:()I
aload 1
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.getOptionReceivePack:()Ljava/lang/String;
29: .line 346
aload 3 /* msgs */
30: .line 345
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.checkExecFailure:(ILjava/lang/String;Ljava/lang/String;)V
31: .line 347
aload 1
aload 2 /* notFound */
aload 3 /* msgs */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh.cleanNotFound:(Lorg/eclipse/jgit/errors/NoRemoteRepositoryException;Ljava/lang/String;)Lorg/eclipse/jgit/errors/NoRemoteRepositoryException;
athrow
end local 3 // java.lang.String msgs
end local 2 // org.eclipse.jgit.errors.NoRemoteRepositoryException notFound
32: .line 349
StackMap locals:
StackMap stack:
return
end local 0 // org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/eclipse/jgit/transport/TransportGitSsh$SshPushConnection;
6 11 2 msg Lorg/eclipse/jgit/util/io/MessageWriter;
8 11 3 rpErr Ljava/io/InputStream;
13 17 2 err Lorg/eclipse/jgit/errors/TransportException;
18 24 2 err Ljava/lang/Throwable;
27 32 2 notFound Lorg/eclipse/jgit/errors/NoRemoteRepositoryException;
28 32 3 msgs Ljava/lang/String;
Exception table:
from to target type
2 11 12 Class org.eclipse.jgit.errors.TransportException
13 14 15 Class java.lang.Exception
2 11 17 Class java.lang.Throwable
18 19 20 Class java.lang.Exception
24 25 26 Class org.eclipse.jgit.errors.NoRemoteRepositoryException
Exceptions:
throws org.eclipse.jgit.errors.TransportException
MethodParameters:
Name Flags
this$0 final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection this
0: .line 353
aload 0 /* this */
invokevirtual org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.endOut:()V
1: .line 355
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
ifnull 3
2: .line 356
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.process:Ljava/lang/Process;
invokevirtual java.lang.Process.destroy:()V
3: .line 358
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
ifnull 12
4: .line 360
aload 0 /* this */
getfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
invokevirtual org.eclipse.jgit.util.io.StreamCopyThread.halt:()V
5: .line 361
goto 11
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: .line 364
aload 0 /* this */
aconst_null
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
goto 12
8: .line 363
StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
9: .line 364
aload 0 /* this */
aconst_null
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
10: .line 365
aload 1
athrow
11: .line 364
StackMap locals:
StackMap stack:
aload 0 /* this */
aconst_null
putfield org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.errorThread:Lorg/eclipse/jgit/util/io/StreamCopyThread;
12: .line 368
StackMap locals:
StackMap stack:
aload 0 /* this */
invokespecial org.eclipse.jgit.transport.BasePackPushConnection.close:()V
13: .line 369
return
end local 0 // org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jgit/transport/TransportGitSsh$SshPushConnection;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
4 7 8 any
}
SourceFile: "TransportGitSsh.java"
NestHost: org.eclipse.jgit.transport.TransportGitSsh
InnerClasses:
SshPushConnection = org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection of org.eclipse.jgit.transport.TransportGitSsh