final class com.oracle.truffle.api.test.GCUtils$IsFreed implements java.util.function.BooleanSupplier
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.test.GCUtils$IsFreed
  super_class: java.lang.Object
{
  private final java.util.Collection<? extends java.lang.ref.Reference<?>> refs;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;

  private final com.oracle.truffle.api.test.GCUtils$IsFreed$Operator operator;
    descriptor: Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(java.util.Collection<? extends java.lang.ref.Reference<?>>, com.oracle.truffle.api.test.GCUtils$IsFreed$Operator);
    descriptor: (Ljava/util/Collection;Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.test.GCUtils$IsFreed this
        start local 1 // java.util.Collection refs
        start local 2 // com.oracle.truffle.api.test.GCUtils$IsFreed$Operator operator
         0: .line 159
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 160
            aload 0 /* this */
            aload 1 /* refs */
            putfield com.oracle.truffle.api.test.GCUtils$IsFreed.refs:Ljava/util/Collection;
         2: .line 161
            aload 0 /* this */
            aload 2 /* operator */
            putfield com.oracle.truffle.api.test.GCUtils$IsFreed.operator:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
         3: .line 162
            return
        end local 2 // com.oracle.truffle.api.test.GCUtils$IsFreed$Operator operator
        end local 1 // java.util.Collection refs
        end local 0 // com.oracle.truffle.api.test.GCUtils$IsFreed this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
            0    4     1      refs  Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;
            0    4     2  operator  Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
    Signature: (Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;)V
    MethodParameters:
          Name  Flags
      refs      
      operator  

  public boolean getAsBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.test.GCUtils$IsFreed this
         0: .line 166
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.GCUtils$IsFreed.refs:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 10
      StackMap locals: com.oracle.truffle.api.test.GCUtils$IsFreed top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 1 /* ref */
        start local 1 // java.lang.ref.Reference ref
         2: .line 167
            aload 1 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            ifnonnull 3
            iconst_1
            goto 4
      StackMap locals: com.oracle.truffle.api.test.GCUtils$IsFreed java.lang.ref.Reference java.util.Iterator
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* freed */
        start local 3 // boolean freed
         5: .line 168
            iload 3 /* freed */
            ifeq 8
         6: .line 169
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.GCUtils$IsFreed.operator:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            getstatic com.oracle.truffle.api.test.GCUtils$IsFreed$Operator.OR:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            if_acmpne 10
         7: .line 170
            iconst_1
            ireturn
         8: .line 173
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.GCUtils$IsFreed.operator:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            getstatic com.oracle.truffle.api.test.GCUtils$IsFreed$Operator.AND:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            if_acmpne 10
         9: .line 174
            iconst_0
            ireturn
        end local 3 // boolean freed
        end local 1 // java.lang.ref.Reference ref
        10: .line 166
      StackMap locals: com.oracle.truffle.api.test.GCUtils$IsFreed top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        11: .line 178
            aload 0 /* this */
            getfield com.oracle.truffle.api.test.GCUtils$IsFreed.operator:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            getstatic com.oracle.truffle.api.test.GCUtils$IsFreed$Operator.AND:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            if_acmpne 12
            iconst_1
            ireturn
      StackMap locals: com.oracle.truffle.api.test.GCUtils$IsFreed
      StackMap stack:
        12: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.test.GCUtils$IsFreed this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
            2   10     1    ref  Ljava/lang/ref/Reference<*>;
            5   10     3  freed  Z

  static com.oracle.truffle.api.test.GCUtils$IsFreed anyOf(java.util.Collection<? extends java.lang.ref.Reference<?>>);
    descriptor: (Ljava/util/Collection;)Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.Collection refs
         0: .line 182
            new com.oracle.truffle.api.test.GCUtils$IsFreed
            dup
            aload 0 /* refs */
            getstatic com.oracle.truffle.api.test.GCUtils$IsFreed$Operator.OR:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            invokespecial com.oracle.truffle.api.test.GCUtils$IsFreed.<init>:(Ljava/util/Collection;Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;)V
            areturn
        end local 0 // java.util.Collection refs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  refs  Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;
    Signature: (Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;)Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
    MethodParameters:
      Name  Flags
      refs  

  static com.oracle.truffle.api.test.GCUtils$IsFreed allOf(java.util.Collection<? extends java.lang.ref.Reference<?>>);
    descriptor: (Ljava/util/Collection;)Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.Collection refs
         0: .line 186
            new com.oracle.truffle.api.test.GCUtils$IsFreed
            dup
            aload 0 /* refs */
            getstatic com.oracle.truffle.api.test.GCUtils$IsFreed$Operator.AND:Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;
            invokespecial com.oracle.truffle.api.test.GCUtils$IsFreed.<init>:(Ljava/util/Collection;Lcom/oracle/truffle/api/test/GCUtils$IsFreed$Operator;)V
            areturn
        end local 0 // java.util.Collection refs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  refs  Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;
    Signature: (Ljava/util/Collection<+Ljava/lang/ref/Reference<*>;>;)Lcom/oracle/truffle/api/test/GCUtils$IsFreed;
    MethodParameters:
      Name  Flags
      refs  
}
SourceFile: "GCUtils.java"
NestHost: com.oracle.truffle.api.test.GCUtils
InnerClasses:
  private final IsFreed = com.oracle.truffle.api.test.GCUtils$IsFreed of com.oracle.truffle.api.test.GCUtils
  private final Operator = com.oracle.truffle.api.test.GCUtils$IsFreed$Operator of com.oracle.truffle.api.test.GCUtils$IsFreed