class sun.security.ssl.SSLSocketImpl$AppInputStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.ssl.SSLSocketImpl$AppInputStream
  super_class: java.io.InputStream
{
  private final byte[] oneByte;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.nio.ByteBuffer buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean appDataIsAvailable;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  final sun.security.ssl.SSLSocketImpl this$0;
    descriptor: Lsun/security/ssl/SSLSocketImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.security.ssl.SSLSocketImpl);
    descriptor: (Lsun/security/ssl/SSLSocketImpl;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 739
            aload 0 /* this */
            aload 1
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 731
            aload 0 /* this */
            iconst_1
            newarray 8
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
         2: .line 740
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
         3: .line 741
            aload 0 /* this */
            sipush 4096
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
         4: .line 742
            return
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
    MethodParameters:
        Name  Flags
      this$0  final

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 751
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.checkEOF:()Z
            ifeq 2
         1: .line 752
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ireturn
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 763
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
            iconst_0
            iconst_1
            invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.read:([BII)I
            istore 1 /* n */
        start local 1 // int n
         1: .line 764
            iload 1 /* n */
            ifgt 3
         2: .line 765
            iconst_m1
            ireturn
         3: .line 768
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
            iconst_0
            baload
            sipush 255
            iand
            ireturn
        end local 1 // int n
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
            1    4     1     n  I
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 786
            aload 1 /* b */
            ifnonnull 2
         1: .line 787
            new java.lang.NullPointerException
            dup
            ldc "the target buffer is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 788
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iflt 3
            iload 3 /* len */
            iflt 3
            iload 3 /* len */
            aload 1 /* b */
            arraylength
            iload 2 /* off */
            isub
            if_icmple 8
         3: .line 789
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
         4: .line 790
            new java.lang.StringBuilder
            dup
            ldc "buffer length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* b */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", offset; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* off */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 791
            ldc ", bytes to read:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 790
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 789
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 792
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifne 10
         9: .line 793
            iconst_0
            ireturn
        10: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.checkEOF:()Z
            ifeq 12
        11: .line 797
            iconst_m1
            ireturn
        12: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isNegotiated:Z
            ifne 16
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isBroken:Z
            ifne 16
        13: .line 802
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
            ifne 16
        14: .line 803
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
            ifne 16
        15: .line 804
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            invokevirtual sun.security.ssl.SSLSocketImpl.ensureNegotiated:()V
        16: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isNegotiated:Z
            ifeq 18
        17: .line 809
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isBroken:Z
            ifne 18
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
            ifeq 19
        18: .line 810
      StackMap locals:
      StackMap stack:
            new java.net.SocketException
            dup
            ldc "Connection or inbound has closed"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        20: .line 818
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.available:()I
            istore 5 /* remains */
        start local 5 // int remains
        21: .line 819
            iload 5 /* remains */
            ifle 26
        22: .line 820
            iload 5 /* remains */
            iload 3 /* len */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* howmany */
        start local 6 // int howmany
        23: .line 821
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 6 /* howmany */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        24: .line 823
            iload 6 /* howmany */
            aload 4
            monitorexit
        25: ireturn
        end local 6 // int howmany
        26: .line 826
      StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
        27: .line 828
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
            invokevirtual sun.security.ssl.SSLSocketImpl.readApplicationRecord:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            astore 6 /* bb */
        start local 6 // java.nio.ByteBuffer bb
        28: .line 829
            aload 6 /* bb */
            ifnonnull 31
        29: .line 830
            aload 4
            monitorexit
        30: iconst_m1
            ireturn
        31: .line 833
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            aload 6 /* bb */
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
        32: .line 836
            aload 6 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
        33: .line 837
            iload 3 /* len */
            aload 6 /* bb */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* volume */
        start local 7 // int volume
        34: .line 838
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 7 /* volume */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        35: .line 839
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
        36: .line 841
            iload 7 /* volume */
        37: aload 4
            monitorexit
        38: ireturn
        end local 7 // int volume
        end local 6 // java.nio.ByteBuffer bb
        39: .line 842
      StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int sun.security.ssl.SSLSocketImpl$AppInputStream int
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        40: .line 844
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            aload 6 /* e */
            invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
        41: .line 847
            aload 4
            monitorexit
        42: iconst_m1
            ireturn
        end local 6 // java.lang.Exception e
        end local 5 // int remains
        43: .line 817
      StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int sun.security.ssl.SSLSocketImpl$AppInputStream
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        44: athrow
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
            0   45     1        b  [B
            0   45     2      off  I
            0   45     3      len  I
           21   43     5  remains  I
           23   26     6  howmany  I
           28   39     6       bb  Ljava/nio/ByteBuffer;
           34   39     7   volume  I
           40   43     6        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          27    29      39  Class java.lang.Exception
          31    37      39  Class java.lang.Exception
          20    25      43  any
          26    30      43  any
          31    38      43  any
          39    42      43  any
          43    44      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public synchronized long skip(long);
    descriptor: (J)J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
        start local 1 // long n
         0: .line 862
            sipush 256
            newarray 8
            astore 3 /* skipArray */
        start local 3 // byte[] skipArray
         1: .line 864
            lconst_0
            lstore 4 /* skipped */
        start local 4 // long skipped
         2: .line 865
            goto 9
         3: .line 866
      StackMap locals: byte[] long
      StackMap stack:
            lload 1 /* n */
            aload 3 /* skipArray */
            arraylength
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 6 /* len */
        start local 6 // int len
         4: .line 867
            aload 0 /* this */
            aload 3 /* skipArray */
            iconst_0
            iload 6 /* len */
            invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.read:([BII)I
            istore 7 /* r */
        start local 7 // int r
         5: .line 868
            iload 7 /* r */
            ifgt 7
         6: .line 869
            goto 10
         7: .line 871
      StackMap locals: int int
      StackMap stack:
            lload 1 /* n */
            iload 7 /* r */
            i2l
            lsub
            lstore 1 /* n */
         8: .line 872
            lload 4 /* skipped */
            iload 7 /* r */
            i2l
            ladd
            lstore 4 /* skipped */
        end local 7 // int r
        end local 6 // int len
         9: .line 865
      StackMap locals:
      StackMap stack:
            lload 1 /* n */
            lconst_0
            lcmp
            ifgt 3
        10: .line 875
      StackMap locals:
      StackMap stack:
            lload 4 /* skipped */
            lreturn
        end local 4 // long skipped
        end local 3 // byte[] skipArray
        end local 1 // long n
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
            0   11     1          n  J
            1   11     3  skipArray  [B
            2   11     4    skipped  J
            4    9     6        len  I
            5    9     7          r  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 880
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 2
            ldc "ssl"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 881
            ldc "Closing input stream"
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            iconst_0
            invokevirtual sun.security.ssl.SSLSocketImpl.shutdownInput:(Z)V
         3: .line 886
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         5: .line 888
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 7
            ldc "ssl"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 889
            ldc "input stream close failed"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ioe */
            aastore
            invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // java.io.IOException ioe
         7: .line 892
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
            5    7     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  private boolean checkEOF();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 901
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
            ifeq 2
         1: .line 902
            iconst_1
            ireturn
         2: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
            ifne 3
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isBroken:Z
            ifeq 9
         3: .line 904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
            ifnonnull 5
         4: .line 905
            iconst_1
            ireturn
         5: .line 907
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLException
            dup
         6: .line 908
            new java.lang.StringBuilder
            dup
            ldc "Connection has closed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 909
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
         8: .line 907
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         9: .line 913
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
    Exceptions:
      throws java.io.IOException

  private synchronized void deplete();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
         0: .line 921
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
            ifne 14
         1: .line 922
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
            instanceof sun.security.ssl.SSLSocketInputRecord
            ifne 3
         2: .line 923
            return
         3: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
            checkcast sun.security.ssl.SSLSocketInputRecord
         4: .line 926
            astore 1 /* socketInputRecord */
        start local 1 // sun.security.ssl.SSLSocketInputRecord socketInputRecord
         5: .line 929
            aload 1 /* socketInputRecord */
         6: .line 930
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.isNegotiated:Z
            ifeq 7
            aload 0 /* this */
            getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
            invokevirtual sun.security.ssl.SSLSocketImpl.getSoTimeout:()I
            ifle 7
            iconst_1
            goto 8
      StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream sun.security.ssl.SSLSocketInputRecord
      StackMap stack: sun.security.ssl.SSLSocketInputRecord
         7: iconst_0
         8: .line 929
      StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream sun.security.ssl.SSLSocketInputRecord
      StackMap stack: sun.security.ssl.SSLSocketInputRecord int
            invokevirtual sun.security.ssl.SSLSocketInputRecord.deplete:(Z)V
         9: .line 931
            goto 14
      StackMap locals:
      StackMap stack: java.io.IOException
        10: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        11: .line 932
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 14
            ldc "ssl"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 934
            ldc "input stream close depletion failed"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* ioe */
            aastore
        13: .line 933
            invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 2 // java.io.IOException ioe
        end local 1 // sun.security.ssl.SSLSocketInputRecord socketInputRecord
        14: .line 938
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.ssl.SSLSocketImpl$AppInputStream this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lsun/security/ssl/SSLSocketImpl$AppInputStream;
            5   14     1  socketInputRecord  Lsun/security/ssl/SSLSocketInputRecord;
           11   14     2                ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     9      10  Class java.io.IOException
}
SourceFile: "SSLSocketImpl.java"
NestHost: sun.security.ssl.SSLSocketImpl
InnerClasses:
  private AppInputStream = sun.security.ssl.SSLSocketImpl$AppInputStream of sun.security.ssl.SSLSocketImpl