public abstract class java.lang.Process
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.lang.Process
  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 // java.lang.Process this
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.Process this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Process;

  public abstract java.io.OutputStream getOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.io.InputStream getErrorStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int waitFor();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.InterruptedException

  public boolean waitFor(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.lang.Process this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 189
            invokestatic java.lang.System.nanoTime:()J
            lstore 4 /* startTime */
        start local 4 // long startTime
         1: .line 190
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 6 /* rem */
        start local 6 // long rem
         2: .line 194
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Process.exitValue:()I
            pop
         3: .line 195
            iconst_1
            ireturn
         4: .line 196
      StackMap locals:
      StackMap stack: java.lang.IllegalThreadStateException
            pop
         5: .line 197
            lload 6 /* rem */
            lconst_0
            lcmp
            ifle 8
         6: .line 199
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 6 /* rem */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lconst_1
            ladd
            ldc 100
            invokestatic java.lang.Math.min:(JJ)J
         7: .line 198
            invokestatic java.lang.Thread.sleep:(J)V
         8: .line 201
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            invokestatic java.lang.System.nanoTime:()J
            lload 4 /* startTime */
            lsub
            lsub
            lstore 6 /* rem */
         9: .line 202
            lload 6 /* rem */
            lconst_0
        10: .line 192
            lcmp
            ifgt 2
        11: .line 203
            iconst_0
            ireturn
        end local 6 // long rem
        end local 4 // long startTime
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // java.lang.Process this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/lang/Process;
            0   12     1    timeout  J
            0   12     3       unit  Ljava/util/concurrent/TimeUnit;
            1   12     4  startTime  J
            2   12     6        rem  J
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalThreadStateException
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public abstract int exitValue();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void destroy();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.Process destroyForcibly();
    descriptor: ()Ljava/lang/Process;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Process this
         0: .line 245
            aload 0 /* this */
            invokevirtual java.lang.Process.destroy:()V
         1: .line 246
            aload 0 /* this */
            areturn
        end local 0 // java.lang.Process this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Process;

  public boolean isAlive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Process this
         0: .line 259
            aload 0 /* this */
            invokevirtual java.lang.Process.exitValue:()I
            pop
         1: .line 260
            iconst_0
            ireturn
         2: .line 261
      StackMap locals:
      StackMap stack: java.lang.IllegalThreadStateException
            pop
         3: .line 262
            iconst_1
            ireturn
        end local 0 // java.lang.Process this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Process;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalThreadStateException
}
SourceFile: "Process.java"