final class io.netty.util.concurrent.DefaultFutureListeners
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.concurrent.DefaultFutureListeners
  super_class: java.lang.Object
{
  private io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>[] listeners;
    descriptor: [Lio/netty/util/concurrent/GenericFutureListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;

  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int progressiveSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  void <init>(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>, io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>);
    descriptor: (Lio/netty/util/concurrent/GenericFutureListener;Lio/netty/util/concurrent/GenericFutureListener;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
        start local 1 // io.netty.util.concurrent.GenericFutureListener first
        start local 2 // io.netty.util.concurrent.GenericFutureListener second
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            aload 0 /* this */
            iconst_2
            anewarray io.netty.util.concurrent.GenericFutureListener
            putfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
         2: .line 30
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
            iconst_0
            aload 1 /* first */
            aastore
         3: .line 31
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
            iconst_1
            aload 2 /* second */
            aastore
         4: .line 32
            aload 0 /* this */
            iconst_2
            putfield io.netty.util.concurrent.DefaultFutureListeners.size:I
         5: .line 33
            aload 1 /* first */
            instanceof io.netty.util.concurrent.GenericProgressiveFutureListener
            ifeq 7
         6: .line 34
            aload 0 /* this */
            dup
            getfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
            iconst_1
            iadd
            putfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
         7: .line 36
      StackMap locals: io.netty.util.concurrent.DefaultFutureListeners io.netty.util.concurrent.GenericFutureListener io.netty.util.concurrent.GenericFutureListener
      StackMap stack:
            aload 2 /* second */
            instanceof io.netty.util.concurrent.GenericProgressiveFutureListener
            ifeq 9
         8: .line 37
            aload 0 /* this */
            dup
            getfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
            iconst_1
            iadd
            putfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
         9: .line 39
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.util.concurrent.GenericFutureListener second
        end local 1 // io.netty.util.concurrent.GenericFutureListener first
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/netty/util/concurrent/DefaultFutureListeners;
            0   10     1   first  Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;
            0   10     2  second  Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;
    Signature: (Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;)V
    MethodParameters:
        Name  Flags
      first   
      second  

  public void add(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>);
    descriptor: (Lio/netty/util/concurrent/GenericFutureListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
        start local 1 // io.netty.util.concurrent.GenericFutureListener l
         0: .line 42
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
            astore 2 /* listeners */
        start local 2 // io.netty.util.concurrent.GenericFutureListener[] listeners
         1: .line 43
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.size:I
            istore 3 /* size */
        start local 3 // int size
         2: .line 44
            iload 3 /* size */
            aload 2 /* listeners */
            arraylength
            if_icmpne 4
         3: .line 45
            aload 0 /* this */
            aload 2 /* listeners */
            iload 3 /* size */
            iconst_1
            ishl
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast io.netty.util.concurrent.GenericFutureListener[]
            dup
            astore 2 /* listeners */
            putfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
         4: .line 47
      StackMap locals: io.netty.util.concurrent.GenericFutureListener[] int
      StackMap stack:
            aload 2 /* listeners */
            iload 3 /* size */
            aload 1 /* l */
            aastore
         5: .line 48
            aload 0 /* this */
            iload 3 /* size */
            iconst_1
            iadd
            putfield io.netty.util.concurrent.DefaultFutureListeners.size:I
         6: .line 50
            aload 1 /* l */
            instanceof io.netty.util.concurrent.GenericProgressiveFutureListener
            ifeq 8
         7: .line 51
            aload 0 /* this */
            dup
            getfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
            iconst_1
            iadd
            putfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
         8: .line 53
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int size
        end local 2 // io.netty.util.concurrent.GenericFutureListener[] listeners
        end local 1 // io.netty.util.concurrent.GenericFutureListener l
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/netty/util/concurrent/DefaultFutureListeners;
            0    9     1          l  Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;
            1    9     2  listeners  [Lio/netty/util/concurrent/GenericFutureListener;
            2    9     3       size  I
    Signature: (Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;)V
    MethodParameters:
      Name  Flags
      l     

  public void remove(io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>);
    descriptor: (Lio/netty/util/concurrent/GenericFutureListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
        start local 1 // io.netty.util.concurrent.GenericFutureListener l
         0: .line 56
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
            astore 2 /* listeners */
        start local 2 // io.netty.util.concurrent.GenericFutureListener[] listeners
         1: .line 57
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.size:I
            istore 3 /* size */
        start local 3 // int size
         2: .line 58
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 14
         4: .line 59
      StackMap locals: io.netty.util.concurrent.GenericFutureListener[] int int
      StackMap stack:
            aload 2 /* listeners */
            iload 4 /* i */
            aaload
            aload 1 /* l */
            if_acmpne 13
         5: .line 60
            iload 3 /* size */
            iload 4 /* i */
            isub
            iconst_1
            isub
            istore 5 /* listenersToMove */
        start local 5 // int listenersToMove
         6: .line 61
            iload 5 /* listenersToMove */
            ifle 8
         7: .line 62
            aload 2 /* listeners */
            iload 4 /* i */
            iconst_1
            iadd
            aload 2 /* listeners */
            iload 4 /* i */
            iload 5 /* listenersToMove */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 64
      StackMap locals: int
      StackMap stack:
            aload 2 /* listeners */
            iinc 3 /* size */ -1
            iload 3 /* size */
            aconst_null
            aastore
         9: .line 65
            aload 0 /* this */
            iload 3 /* size */
            putfield io.netty.util.concurrent.DefaultFutureListeners.size:I
        10: .line 67
            aload 1 /* l */
            instanceof io.netty.util.concurrent.GenericProgressiveFutureListener
            ifeq 12
        11: .line 68
            aload 0 /* this */
            dup
            getfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
            iconst_1
            isub
            putfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
        12: .line 70
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int listenersToMove
        13: .line 58
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 4
        end local 4 // int i
        15: .line 73
            return
        end local 3 // int size
        end local 2 // io.netty.util.concurrent.GenericFutureListener[] listeners
        end local 1 // io.netty.util.concurrent.GenericFutureListener l
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lio/netty/util/concurrent/DefaultFutureListeners;
            0   16     1                l  Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;
            1   16     2        listeners  [Lio/netty/util/concurrent/GenericFutureListener;
            2   16     3             size  I
            3   15     4                i  I
            6   13     5  listenersToMove  I
    Signature: (Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;)V
    MethodParameters:
      Name  Flags
      l     

  public io.netty.util.concurrent.GenericFutureListener<? extends io.netty.util.concurrent.Future<?>>[] listeners();
    descriptor: ()[Lio/netty/util/concurrent/GenericFutureListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
         0: .line 76
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.listeners:[Lio/netty/util/concurrent/GenericFutureListener;
            areturn
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/util/concurrent/DefaultFutureListeners;
    Signature: ()[Lio/netty/util/concurrent/GenericFutureListener<+Lio/netty/util/concurrent/Future<*>;>;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
         0: .line 80
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.size:I
            ireturn
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/util/concurrent/DefaultFutureListeners;

  public int progressiveSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.concurrent.DefaultFutureListeners this
         0: .line 84
            aload 0 /* this */
            getfield io.netty.util.concurrent.DefaultFutureListeners.progressiveSize:I
            ireturn
        end local 0 // io.netty.util.concurrent.DefaultFutureListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/util/concurrent/DefaultFutureListeners;
}
SourceFile: "DefaultFutureListeners.java"