class org.eclipse.jgit.transport.JschSession$JschProcess extends java.lang.Process
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jgit.transport.JschSession$JschProcess
super_class: java.lang.Process
{
private com.jcraft.jsch.ChannelExec channel;
descriptor: Lcom/jcraft/jsch/ChannelExec;
flags: (0x0002) ACC_PRIVATE
final int timeout;
descriptor: I
flags: (0x0010) ACC_FINAL
private java.io.InputStream inputStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream outputStream;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream errStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
final org.eclipse.jgit.transport.JschSession this$0;
descriptor: Lorg/eclipse/jgit/transport/JschSession;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.eclipse.jgit.transport.JschSession, java.lang.String, int);
descriptor: (Lorg/eclipse/jgit/transport/JschSession;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.eclipse.jgit.transport.JschSession$JschProcess.this$0:Lorg/eclipse/jgit/transport/JschSession;
1: aload 0
invokespecial java.lang.Process.<init>:()V
2: aload 0
iload 3
putfield org.eclipse.jgit.transport.JschSession$JschProcess.timeout:I
3: aload 0
aload 1
getfield org.eclipse.jgit.transport.JschSession.sock:Lcom/jcraft/jsch/Session;
ldc "exec"
invokevirtual com.jcraft.jsch.Session.openChannel:(Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
checkcast com.jcraft.jsch.ChannelExec
putfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
4: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
aload 2
invokevirtual com.jcraft.jsch.ChannelExec.setCommand:(Ljava/lang/String;)V
5: aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.setupStreams:()V
6: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.timeout:I
ifle 7
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.timeout:I
sipush 1000
imul
goto 8
StackMap locals: org.eclipse.jgit.transport.JschSession$JschProcess org.eclipse.jgit.transport.JschSession java.lang.String int
StackMap stack: com.jcraft.jsch.ChannelExec
7: iconst_0
StackMap locals: org.eclipse.jgit.transport.JschSession$JschProcess org.eclipse.jgit.transport.JschSession java.lang.String int
StackMap stack: com.jcraft.jsch.ChannelExec int
8: invokevirtual com.jcraft.jsch.ChannelExec.connect:(I)V
9: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.isConnected:()Z
ifne 17
10: aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.closeOutputStream:()V
11: new org.eclipse.jgit.errors.TransportException
dup
aload 1
getfield org.eclipse.jgit.transport.JschSession.uri:Lorg/eclipse/jgit/transport/URIish;
12: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.connectionFailed:Ljava/lang/String;
13: invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack: com.jcraft.jsch.JSchException
astore 4
start local 4 15: aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.closeOutputStream:()V
16: new org.eclipse.jgit.errors.TransportException
dup
aload 1
getfield org.eclipse.jgit.transport.JschSession.uri:Lorg/eclipse/jgit/transport/URIish;
aload 4
invokevirtual com.jcraft.jsch.JSchException.getMessage:()Ljava/lang/String;
aload 4
invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 17: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
0 18 2 commandName Ljava/lang/String;
0 18 3 tms I
15 17 4 e Lcom/jcraft/jsch/JSchException;
Exception table:
from to target type
3 14 14 Class com.jcraft.jsch.JSchException
Exceptions:
throws org.eclipse.jgit.errors.TransportException, java.io.IOException
MethodParameters:
Name Flags
this$0 final
commandName
tms
private void closeOutputStream();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.outputStream:Ljava/io/OutputStream;
ifnull 4
1: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.outputStream:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
Exception table:
from to target type
1 2 3 Class java.io.IOException
private void setupStreams();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.getInputStream:()Ljava/io/InputStream;
putfield org.eclipse.jgit.transport.JschSession$JschProcess.inputStream:Ljava/io/InputStream;
1: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.getOutputStream:()Ljava/io/OutputStream;
astore 1
start local 1 2: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.timeout:I
ifgt 5
3: aload 0
aload 1
putfield org.eclipse.jgit.transport.JschSession$JschProcess.outputStream:Ljava/io/OutputStream;
4: goto 7
5: StackMap locals: java.io.OutputStream
StackMap stack:
new org.eclipse.jgit.util.io.IsolatedOutputStream
dup
aload 1
invokespecial org.eclipse.jgit.util.io.IsolatedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 6: aload 0
new java.io.BufferedOutputStream
dup
aload 2
sipush 16384
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
putfield org.eclipse.jgit.transport.JschSession$JschProcess.outputStream:Ljava/io/OutputStream;
end local 2 7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.getErrStream:()Ljava/io/InputStream;
putfield org.eclipse.jgit.transport.JschSession$JschProcess.errStream:Ljava/io/InputStream;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
2 9 1 out Ljava/io/OutputStream;
6 7 2 i Lorg/eclipse/jgit/util/io/IsolatedOutputStream;
Exceptions:
throws java.io.IOException
public java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.inputStream:Ljava/io/InputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
public java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.outputStream:Ljava/io/OutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
public java.io.InputStream getErrorStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.errStream:Ljava/io/InputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
public int exitValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.isRunning:()Z
ifeq 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.getExitStatus:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
private boolean isRunning();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.getExitStatus:()I
ifge 1
aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.isConnected:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.isConnected:()Z
ifeq 2
1: aload 0
getfield org.eclipse.jgit.transport.JschSession$JschProcess.channel:Lcom/jcraft/jsch/ChannelExec;
invokevirtual com.jcraft.jsch.ChannelExec.disconnect:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.closeOutputStream:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
public int waitFor();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
ldc 100
invokestatic java.lang.Thread.sleep:(J)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.isRunning:()Z
ifne 1
3: aload 0
invokevirtual org.eclipse.jgit.transport.JschSession$JschProcess.exitValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/JschSession$JschProcess;
Exceptions:
throws java.lang.InterruptedException
}
SourceFile: "JschSession.java"
NestHost: org.eclipse.jgit.transport.JschSession
InnerClasses:
private JschProcess = org.eclipse.jgit.transport.JschSession$JschProcess of org.eclipse.jgit.transport.JschSession