public class org.hsqldb.lib.CountUpDownLatch
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.lib.CountUpDownLatch
  super_class: java.lang.Object
{
  private final org.hsqldb.lib.CountUpDownLatch$Sync sync;
    descriptor: Lorg/hsqldb/lib/CountUpDownLatch$Sync;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 55
            aload 0 /* this */
            iconst_0
            invokespecial org.hsqldb.lib.CountUpDownLatch.<init>:(I)V
         1: .line 56
            return
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // int initialCount
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            iload 1 /* initialCount */
            ifge 3
         2: .line 68
            new java.lang.IllegalArgumentException
            dup
            ldc "count < 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 71
      StackMap locals: org.hsqldb.lib.CountUpDownLatch int
      StackMap stack:
            aload 0 /* this */
            new org.hsqldb.lib.CountUpDownLatch$Sync
            dup
            iload 1 /* initialCount */
            invokespecial org.hsqldb.lib.CountUpDownLatch$Sync.<init>:(I)V
            putfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
         4: .line 72
            return
        end local 1 // int initialCount
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    5     1  initialCount  I
    MethodParameters:
              Name  Flags
      initialCount  

  public void await();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 104
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            iconst_1
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.acquireSharedInterruptibly:(I)V
         1: .line 105
            return
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/lib/CountUpDownLatch;
    Exceptions:
      throws java.lang.InterruptedException

  public boolean await(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 152
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            iconst_1
            aload 3 /* unit */
            lload 1 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.tryAcquireSharedNanos:(IJ)Z
            ireturn
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    1     1  timeout  J
            0    1     3     unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public boolean countUp();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 165
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.countUp:()Z
            ireturn
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public boolean countUp(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // int amount
         0: .line 180
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            iload 1 /* amount */
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.countUp:(I)Z
            ireturn
        end local 1 // int amount
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  public boolean countDown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 193
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.countDown:()Z
            ireturn
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public boolean countDown(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // int amount
         0: .line 212
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            iload 1 /* amount */
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.countDown:(I)Z
            ireturn
        end local 1 // int amount
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    1     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  public int getCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 228
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.getCount:()I
            ireturn
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public boolean setCount(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // int newCount
         0: .line 243
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            iload 1 /* newCount */
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.setCount:(I)Z
            ireturn
        end local 1 // int newCount
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    1     1  newCount  I
    MethodParameters:
          Name  Flags
      newCount  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 254
            ldc "%s[count=%d]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         1: .line 255
            aload 0 /* this */
            getfield org.hsqldb.lib.CountUpDownLatch.sync:Lorg/hsqldb/lib/CountUpDownLatch$Sync;
            invokevirtual org.hsqldb.lib.CountUpDownLatch$Sync.getCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         2: .line 254
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
         0: .line 268
            aload 0 /* this */
            invokespecial java.lang.Object.hashCode:()I
            ireturn
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/lib/CountUpDownLatch;

  public boolean equals(org.hsqldb.lib.CountUpDownLatch);
    descriptor: (Lorg/hsqldb/lib/CountUpDownLatch;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // org.hsqldb.lib.CountUpDownLatch other
         0: .line 279
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.hsqldb.lib.CountUpDownLatch other
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    2     1  other  Lorg/hsqldb/lib/CountUpDownLatch;
    MethodParameters:
       Name  Flags
      other  final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.lib.CountUpDownLatch this
        start local 1 // java.lang.Object obj
         0: .line 293
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.hsqldb.lib.CountUpDownLatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/lib/CountUpDownLatch;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
}
SourceFile: "CountUpDownLatch.java"
NestMembers:
  org.hsqldb.lib.CountUpDownLatch$Sync
InnerClasses:
  private Sync = org.hsqldb.lib.CountUpDownLatch$Sync of org.hsqldb.lib.CountUpDownLatch