final class sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage extends sun.security.ssl.SSLHandshake$HandshakeMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage
  super_class: sun.security.ssl.SSLHandshake$HandshakeMessage
{
  private final sun.security.ssl.ClientHello$ClientHelloMessage msg;
    descriptor: Lsun/security/ssl/ClientHello$ClientHelloMessage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec psk;
    descriptor: Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(sun.security.ssl.HandshakeContext, sun.security.ssl.ClientHello$ClientHelloMessage, sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec);
    descriptor: (Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/ClientHello$ClientHelloMessage;Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
        start local 1 // sun.security.ssl.HandshakeContext ctx
        start local 2 // sun.security.ssl.ClientHello$ClientHelloMessage msg
        start local 3 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec psk
         0: .line 556
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial sun.security.ssl.SSLHandshake$HandshakeMessage.<init>:(Lsun/security/ssl/HandshakeContext;)V
         1: .line 558
            aload 0 /* this */
            aload 2 /* msg */
            putfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
         2: .line 559
            aload 0 /* this */
            aload 3 /* psk */
            putfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.psk:Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
         3: .line 560
            return
        end local 3 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec psk
        end local 2 // sun.security.ssl.ClientHello$ClientHelloMessage msg
        end local 1 // sun.security.ssl.HandshakeContext ctx
        end local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/ssl/PreSharedKeyExtension$PartialClientHelloMessage;
            0    4     1   ctx  Lsun/security/ssl/HandshakeContext;
            0    4     2   msg  Lsun/security/ssl/ClientHello$ClientHelloMessage;
            0    4     3   psk  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
    MethodParameters:
      Name  Flags
      ctx   
      msg   
      psk   

  sun.security.ssl.SSLHandshake handshakeType();
    descriptor: ()Lsun/security/ssl/SSLHandshake;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
         0: .line 564
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.handshakeType:()Lsun/security/ssl/SSLHandshake;
            areturn
        end local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/PreSharedKeyExtension$PartialClientHelloMessage;

  private int pskTotalLength();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
         0: .line 568
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.psk:Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getIdsEncodedLength:()I
         1: .line 569
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.psk:Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getBindersEncodedLength:()I
         2: .line 568
            iadd
         3: .line 569
            bipush 8
         4: .line 568
            iadd
            ireturn
        end local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/ssl/PreSharedKeyExtension$PartialClientHelloMessage;

  int messageLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
         0: .line 575
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            getfield sun.security.ssl.ClientHello$ClientHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            getstatic sun.security.ssl.SSLExtension.CH_PRE_SHARED_KEY:Lsun/security/ssl/SSLExtension;
            invokevirtual sun.security.ssl.SSLExtensions.get:(Lsun/security/ssl/SSLExtension;)[B
            ifnull 2
         1: .line 576
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.messageLength:()I
            ireturn
         2: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.messageLength:()I
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.pskTotalLength:()I
            iadd
            ireturn
        end local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/PreSharedKeyExtension$PartialClientHelloMessage;

  void send(sun.security.ssl.HandshakeOutStream);
    descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
        start local 1 // sun.security.ssl.HandshakeOutStream hos
         0: .line 584
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            aload 1 /* hos */
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.sendCore:(Lsun/security/ssl/HandshakeOutStream;)V
         1: .line 587
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            getfield sun.security.ssl.ClientHello$ClientHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            invokevirtual sun.security.ssl.SSLExtensions.length:()I
            istore 2 /* extsLen */
        start local 2 // int extsLen
         2: .line 588
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            getfield sun.security.ssl.ClientHello$ClientHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            getstatic sun.security.ssl.SSLExtension.CH_PRE_SHARED_KEY:Lsun/security/ssl/SSLExtension;
            invokevirtual sun.security.ssl.SSLExtensions.get:(Lsun/security/ssl/SSLExtension;)[B
            ifnonnull 4
         3: .line 589
            iload 2 /* extsLen */
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.pskTotalLength:()I
            iadd
            istore 2 /* extsLen */
         4: .line 591
      StackMap locals: int
      StackMap stack:
            aload 1 /* hos */
            iload 2 /* extsLen */
            iconst_2
            isub
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
         5: .line 593
            invokestatic sun.security.ssl.SSLExtension.values:()[Lsun/security/ssl/SSLExtension;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage sun.security.ssl.HandshakeOutStream int top int int sun.security.ssl.SSLExtension[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* ext */
        start local 3 // sun.security.ssl.SSLExtension ext
         7: .line 594
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.msg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
            getfield sun.security.ssl.ClientHello$ClientHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
            aload 3 /* ext */
            invokevirtual sun.security.ssl.SSLExtensions.get:(Lsun/security/ssl/SSLExtension;)[B
            astore 7 /* extData */
        start local 7 // byte[] extData
         8: .line 595
            aload 7 /* extData */
            ifnonnull 10
         9: .line 596
            goto 15
        10: .line 599
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage sun.security.ssl.HandshakeOutStream int sun.security.ssl.SSLExtension int int sun.security.ssl.SSLExtension[] byte[]
      StackMap stack:
            aload 3 /* ext */
            getstatic sun.security.ssl.SSLExtension.CH_PRE_SHARED_KEY:Lsun/security/ssl/SSLExtension;
            if_acmpne 12
        11: .line 600
            goto 15
        12: .line 602
      StackMap locals:
      StackMap stack:
            aload 3 /* ext */
            getfield sun.security.ssl.SSLExtension.id:I
            istore 8 /* extID */
        start local 8 // int extID
        13: .line 603
            aload 1 /* hos */
            iload 8 /* extID */
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
        14: .line 604
            aload 1 /* hos */
            aload 7 /* extData */
            invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
        end local 8 // int extID
        end local 7 // byte[] extData
        end local 3 // sun.security.ssl.SSLExtension ext
        15: .line 593
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage sun.security.ssl.HandshakeOutStream int top int int sun.security.ssl.SSLExtension[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 6
        17: .line 608
            getstatic sun.security.ssl.SSLExtension.CH_PRE_SHARED_KEY:Lsun/security/ssl/SSLExtension;
            getfield sun.security.ssl.SSLExtension.id:I
            istore 3 /* extID */
        start local 3 // int extID
        18: .line 609
            aload 1 /* hos */
            iload 3 /* extID */
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
        19: .line 610
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.psk:Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getEncoded:()[B
            astore 4 /* encodedPsk */
        start local 4 // byte[] encodedPsk
        20: .line 611
            aload 1 /* hos */
            aload 4 /* encodedPsk */
            arraylength
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
        21: .line 612
            aload 1 /* hos */
            aload 4 /* encodedPsk */
            iconst_0
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage.psk:Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getIdsEncodedLength:()I
            iconst_2
            iadd
            invokevirtual sun.security.ssl.HandshakeOutStream.write:([BII)V
        22: .line 613
            return
        end local 4 // byte[] encodedPsk
        end local 3 // int extID
        end local 2 // int extsLen
        end local 1 // sun.security.ssl.HandshakeOutStream hos
        end local 0 // sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/ssl/PreSharedKeyExtension$PartialClientHelloMessage;
            0   23     1         hos  Lsun/security/ssl/HandshakeOutStream;
            2   23     2     extsLen  I
            7   15     3         ext  Lsun/security/ssl/SSLExtension;
            8   15     7     extData  [B
           13   15     8       extID  I
           18   23     3       extID  I
           20   23     4  encodedPsk  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      hos   
}
SourceFile: "PreSharedKeyExtension.java"
NestHost: sun.security.ssl.PreSharedKeyExtension
InnerClasses:
  final ClientHelloMessage = sun.security.ssl.ClientHello$ClientHelloMessage of sun.security.ssl.ClientHello
  private final CHPreSharedKeySpec = sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec of sun.security.ssl.PreSharedKeyExtension
  final PartialClientHelloMessage = sun.security.ssl.PreSharedKeyExtension$PartialClientHelloMessage of sun.security.ssl.PreSharedKeyExtension
  abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake