public final class io.netty.util.internal.ThrowableUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.internal.ThrowableUtil
  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 // io.netty.util.internal.ThrowableUtil this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.netty.util.internal.ThrowableUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/util/internal/ThrowableUtil;

  public static <T extends java.lang.Throwable> T unknownStackTrace(T, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=3, args_size=3
        start local 0 // java.lang.Throwable cause
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String method
         0: .line 31
            aload 0 /* cause */
            iconst_1
            anewarray java.lang.StackTraceElement
            dup
            iconst_0
            new java.lang.StackTraceElement
            dup
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 2 /* method */
            aconst_null
            iconst_m1
            invokespecial java.lang.StackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            aastore
            invokevirtual java.lang.Throwable.setStackTrace:([Ljava/lang/StackTraceElement;)V
         1: .line 32
            aload 0 /* cause */
            areturn
        end local 2 // java.lang.String method
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   cause  TT;
            0    2     1   clazz  Ljava/lang/Class<*>;
            0    2     2  method  Ljava/lang/String;
    Signature: <T:Ljava/lang/Throwable;>(TT;Ljava/lang/Class<*>;Ljava/lang/String;)TT;
    MethodParameters:
        Name  Flags
      cause   
      clazz   
      method  

  public static java.lang.String stackTraceToString(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 42
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* out */
        start local 1 // java.io.ByteArrayOutputStream out
         1: .line 43
            new java.io.PrintStream
            dup
            aload 1 /* out */
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* pout */
        start local 2 // java.io.PrintStream pout
         2: .line 44
            aload 0 /* cause */
            aload 2 /* pout */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
         3: .line 45
            aload 2 /* pout */
            invokevirtual java.io.PrintStream.flush:()V
         4: .line 47
            new java.lang.String
            dup
            aload 1 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 4
         5: .line 50
            aload 1 /* out */
            invokevirtual java.io.ByteArrayOutputStream.close:()V
         6: .line 51
            goto 8
      StackMap locals: java.lang.Throwable java.io.ByteArrayOutputStream java.io.PrintStream top java.lang.String
      StackMap stack: java.io.IOException
         7: pop
         8: .line 47
      StackMap locals:
      StackMap stack:
            aload 4
            areturn
         9: .line 48
      StackMap locals: java.lang.Throwable java.io.ByteArrayOutputStream java.io.PrintStream
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 50
            aload 1 /* out */
            invokevirtual java.io.ByteArrayOutputStream.close:()V
        11: .line 51
            goto 13
      StackMap locals: java.lang.Throwable java.io.ByteArrayOutputStream java.io.PrintStream java.lang.Throwable
      StackMap stack: java.io.IOException
        12: pop
        13: .line 54
      StackMap locals:
      StackMap stack:
            aload 3
            athrow
        end local 2 // java.io.PrintStream pout
        end local 1 // java.io.ByteArrayOutputStream out
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0  cause  Ljava/lang/Throwable;
            1   14     1    out  Ljava/io/ByteArrayOutputStream;
            2   14     2   pout  Ljava/io/PrintStream;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
           4     5       9  any
          10    11      12  Class java.io.IOException
    MethodParameters:
       Name  Flags
      cause  

  public static boolean haveSuppressed();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            invokestatic io.netty.util.internal.PlatformDependent.javaVersion:()I
            bipush 7
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void addSuppressed(java.lang.Throwable, java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Throwable target
        start local 1 // java.lang.Throwable suppressed
         0: .line 63
            invokestatic io.netty.util.internal.ThrowableUtil.haveSuppressed:()Z
            ifne 2
         1: .line 64
            return
         2: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            aload 1 /* suppressed */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
         3: .line 67
            return
        end local 1 // java.lang.Throwable suppressed
        end local 0 // java.lang.Throwable target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0      target  Ljava/lang/Throwable;
            0    4     1  suppressed  Ljava/lang/Throwable;
    RuntimeInvisibleAnnotations: 
      io.netty.util.internal.SuppressJava6Requirement(reason = "Throwable addSuppressed is only available for >= 7. Has check for < 7.")
    MethodParameters:
            Name  Flags
      target      
      suppressed  

  public static void addSuppressedAndClear(java.lang.Throwable, java.util.List<java.lang.Throwable>);
    descriptor: (Ljava/lang/Throwable;Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Throwable target
        start local 1 // java.util.List suppressed
         0: .line 70
            aload 0 /* target */
            aload 1 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/util/List;)V
         1: .line 71
            aload 1 /* suppressed */
            invokeinterface java.util.List.clear:()V
         2: .line 72
            return
        end local 1 // java.util.List suppressed
        end local 0 // java.lang.Throwable target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0      target  Ljava/lang/Throwable;
            0    3     1  suppressed  Ljava/util/List<Ljava/lang/Throwable;>;
    Signature: (Ljava/lang/Throwable;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
            Name  Flags
      target      
      suppressed  

  public static void addSuppressed(java.lang.Throwable, java.util.List<java.lang.Throwable>);
    descriptor: (Ljava/lang/Throwable;Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Throwable target
        start local 1 // java.util.List suppressed
         0: .line 75
            aload 1 /* suppressed */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: java.lang.Throwable java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         2: .line 76
            aload 0 /* target */
            aload 2 /* t */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t
         3: .line 75
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 78
            return
        end local 1 // java.util.List suppressed
        end local 0 // java.lang.Throwable target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0      target  Ljava/lang/Throwable;
            0    5     1  suppressed  Ljava/util/List<Ljava/lang/Throwable;>;
            2    3     2           t  Ljava/lang/Throwable;
    Signature: (Ljava/lang/Throwable;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
            Name  Flags
      target      
      suppressed  
}
SourceFile: "ThrowableUtil.java"