final class sun.security.ssl.Alert$AlertConsumer implements sun.security.ssl.SSLConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.Alert$AlertConsumer
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.Alert$AlertConsumer this
         0: .line 227
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 229
            return
        end local 0 // sun.security.ssl.Alert$AlertConsumer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/Alert$AlertConsumer;

  public void consume(sun.security.ssl.ConnectionContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.ssl.Alert$AlertConsumer this
        start local 1 // sun.security.ssl.ConnectionContext context
        start local 2 // java.nio.ByteBuffer m
         0: .line 234
            aload 1 /* context */
            checkcast sun.security.ssl.TransportContext
            astore 3 /* tc */
        start local 3 // sun.security.ssl.TransportContext tc
         1: .line 236
            new sun.security.ssl.Alert$AlertMessage
            dup
            aload 3 /* tc */
            aload 2 /* m */
            invokespecial sun.security.ssl.Alert$AlertMessage.<init>:(Lsun/security/ssl/TransportContext;Ljava/nio/ByteBuffer;)V
            astore 4 /* am */
        start local 4 // sun.security.ssl.Alert$AlertMessage am
         2: .line 237
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 4
            ldc "ssl"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 238
            ldc "Received alert message"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* am */
            aastore
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 241
      StackMap locals: sun.security.ssl.TransportContext sun.security.ssl.Alert$AlertMessage
      StackMap stack:
            aload 4 /* am */
            getfield sun.security.ssl.Alert$AlertMessage.level:B
            invokestatic sun.security.ssl.Alert$Level.valueOf:(B)Lsun/security/ssl/Alert$Level;
            astore 5 /* level */
        start local 5 // sun.security.ssl.Alert$Level level
         5: .line 242
            aload 4 /* am */
            getfield sun.security.ssl.Alert$AlertMessage.id:B
            invokestatic sun.security.ssl.Alert.valueOf:(B)Lsun/security/ssl/Alert;
            astore 6 /* alert */
        start local 6 // sun.security.ssl.Alert alert
         6: .line 243
            aload 6 /* alert */
            getstatic sun.security.ssl.Alert.CLOSE_NOTIFY:Lsun/security/ssl/Alert;
            if_acmpne 16
         7: .line 244
            aload 3 /* tc */
            iconst_1
            putfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
         8: .line 245
            aload 3 /* tc */
            invokevirtual sun.security.ssl.TransportContext.closeInbound:()V
         9: .line 247
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.peerUserCanceled:Z
            ifeq 12
        10: .line 248
            aload 3 /* tc */
            invokevirtual sun.security.ssl.TransportContext.closeOutbound:()V
        11: .line 249
            goto 46
      StackMap locals: sun.security.ssl.Alert$Level sun.security.ssl.Alert
      StackMap stack:
        12: aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            ifnull 46
        13: .line 250
            aload 3 /* tc */
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
        14: .line 251
            ldc "Received close_notify during handshake"
        15: .line 250
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        16: .line 253
      StackMap locals:
      StackMap stack:
            aload 6 /* alert */
            getstatic sun.security.ssl.Alert.USER_CANCELED:Lsun/security/ssl/Alert;
            if_acmpne 23
        17: .line 254
            aload 5 /* level */
            getstatic sun.security.ssl.Alert$Level.WARNING:Lsun/security/ssl/Alert$Level;
            if_acmpne 20
        18: .line 255
            aload 3 /* tc */
            iconst_1
            putfield sun.security.ssl.TransportContext.peerUserCanceled:Z
        19: .line 256
            goto 46
        20: .line 257
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            aload 6 /* alert */
        21: .line 258
            ldc "Received fatal close_notify alert"
            iconst_1
            aconst_null
        22: .line 257
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;ZLjava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        23: .line 260
      StackMap locals:
      StackMap stack:
            aload 5 /* level */
            getstatic sun.security.ssl.Alert$Level.WARNING:Lsun/security/ssl/Alert$Level;
            if_acmpne 40
            aload 6 /* alert */
            ifnull 40
        24: .line 264
            aload 6 /* alert */
            getfield sun.security.ssl.Alert.handshakeOnly:Z
            ifeq 46
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            ifnull 46
        25: .line 268
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifne 30
        26: .line 269
            aload 6 /* alert */
            getstatic sun.security.ssl.Alert.NO_CERTIFICATE:Lsun/security/ssl/Alert;
            if_acmpne 30
        27: .line 270
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
        28: .line 271
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
        29: .line 270
            if_acmpeq 33
        30: .line 272
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        31: .line 273
            new java.lang.StringBuilder
            dup
            ldc "received handshake warning: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* alert */
            getfield sun.security.ssl.Alert.description:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 272
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        33: .line 278
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            getfield sun.security.ssl.HandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
        34: .line 279
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
        35: .line 278
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 280
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            getfield sun.security.ssl.HandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
        37: .line 281
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
        38: .line 280
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 284
            goto 46
        40: .line 286
      StackMap locals:
      StackMap stack:
            aload 6 /* alert */
            ifnonnull 44
        41: .line 287
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
            astore 6 /* alert */
        42: .line 288
            new java.lang.StringBuilder
            dup
            ldc "Unknown alert description ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* am */
            getfield sun.security.ssl.Alert$AlertMessage.id:B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* diagnostic */
        start local 7 // java.lang.String diagnostic
        43: .line 289
            goto 45
        end local 7 // java.lang.String diagnostic
        44: .line 290
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Received fatal alert: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* alert */
            getfield sun.security.ssl.Alert.description:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* diagnostic */
        start local 7 // java.lang.String diagnostic
        45: .line 293
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* tc */
            aload 6 /* alert */
            aload 7 /* diagnostic */
            iconst_1
            aconst_null
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;ZLjava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        end local 7 // java.lang.String diagnostic
        46: .line 295
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.security.ssl.Alert alert
        end local 5 // sun.security.ssl.Alert$Level level
        end local 4 // sun.security.ssl.Alert$AlertMessage am
        end local 3 // sun.security.ssl.TransportContext tc
        end local 2 // java.nio.ByteBuffer m
        end local 1 // sun.security.ssl.ConnectionContext context
        end local 0 // sun.security.ssl.Alert$AlertConsumer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   47     0        this  Lsun/security/ssl/Alert$AlertConsumer;
            0   47     1     context  Lsun/security/ssl/ConnectionContext;
            0   47     2           m  Ljava/nio/ByteBuffer;
            1   47     3          tc  Lsun/security/ssl/TransportContext;
            2   47     4          am  Lsun/security/ssl/Alert$AlertMessage;
            5   47     5       level  Lsun/security/ssl/Alert$Level;
            6   47     6       alert  Lsun/security/ssl/Alert;
           43   44     7  diagnostic  Ljava/lang/String;
           45   46     7  diagnostic  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      m        
}
SourceFile: "Alert.java"
NestHost: sun.security.ssl.Alert
InnerClasses:
  private final AlertConsumer = sun.security.ssl.Alert$AlertConsumer of sun.security.ssl.Alert
  private final AlertMessage = sun.security.ssl.Alert$AlertMessage of sun.security.ssl.Alert
  final Level = sun.security.ssl.Alert$Level of sun.security.ssl.Alert