public abstract class com.oracle.truffle.llvm.tests.BaseTestHarness
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.llvm.tests.BaseTestHarness
  super_class: java.lang.Object
{
  public static final java.lang.String TEST_DIR_EXT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".dir"

  public static final java.util.Set<java.lang.String> supportedFiles;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.function.Predicate<? super java.nio.file.Path> isExecutable;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/nio/file/Path;>;

  public static final java.util.function.Predicate<? super java.nio.file.Path> isIncludeFile;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/nio/file/Path;>;

  public static final java.util.function.Predicate<? super java.nio.file.Path> isExcludeFile;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/nio/file/Path;>;

  public static final java.util.function.Predicate<? super java.nio.file.Path> isSulong;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/nio/file/Path;>;

  public static final java.util.function.Predicate<? super java.nio.file.Path> isFile;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<-Ljava/nio/file/Path;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 56
            new java.util.HashSet
            dup
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            ldc "f90"
            aastore
            dup
            iconst_1
            ldc "f"
            aastore
            dup
            iconst_2
            ldc "f03"
            aastore
            dup
            iconst_3
            ldc "c"
            aastore
            dup
            iconst_4
            ldc "cpp"
            aastore
            dup
            iconst_5
            ldc "cc"
            aastore
            dup
            bipush 6
            ldc "C"
            aastore
            dup
            bipush 7
            ldc "m"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.supportedFiles:Ljava/util/Set;
         1: .line 58
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$0(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isExecutable:Ljava/util/function/Predicate;
         2: .line 59
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$3(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isIncludeFile:Ljava/util/function/Predicate;
         3: .line 60
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$4(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isExcludeFile:Ljava/util/function/Predicate;
         4: .line 61
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$2(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isSulong:Ljava/util/function/Predicate;
         5: .line 62
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$1(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isFile:Ljava/util/function/Predicate;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/tests/BaseTestHarness;

  protected abstract java.nio.file.Path getTestDirectory();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.String getTestName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public abstract void test();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  protected java.util.Map<java.lang.String, java.lang.String> getContextOptions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
         0: .line 72
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
        end local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/tests/BaseTestHarness;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  protected java.util.function.Predicate<java.lang.String> filterFileName();
    descriptor: ()Ljava/util/function/Predicate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
         0: .line 82
            getstatic com.oracle.truffle.llvm.tests.options.TestOptions.TEST_FILTER:Ljava/lang/String;
            ifnull 2
            getstatic com.oracle.truffle.llvm.tests.options.TestOptions.TEST_FILTER:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 2
         1: .line 83
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$5(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            areturn
         2: .line 85
      StackMap locals:
      StackMap stack:
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$6(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            areturn
        end local 0 // com.oracle.truffle.llvm.tests.BaseTestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/llvm/tests/BaseTestHarness;
    Signature: ()Ljava/util/function/Predicate<Ljava/lang/String;>;

  public static final java.util.Collection<java.lang.Object[]> collectTestCases(java.nio.file.Path, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Collection;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.nio.file.Path configPath
        start local 1 // java.nio.file.Path suiteDir
        start local 2 // java.nio.file.Path sourceDir
         0: .line 90
            getstatic com.oracle.truffle.llvm.tests.options.TestOptions.TEST_DISCOVERY_PATH:Ljava/lang/String;
            astore 3 /* testDiscoveryPath */
        start local 3 // java.lang.String testDiscoveryPath
         1: .line 91
            aload 3 /* testDiscoveryPath */
            ifnonnull 3
         2: .line 92
            aload 0 /* configPath */
            aload 1 /* suiteDir */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.collectRegularRun:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Collection;
            areturn
         3: .line 94
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Running in discovery mode..."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 95
            aload 0 /* configPath */
            aload 1 /* suiteDir */
            aload 2 /* sourceDir */
            aload 3 /* testDiscoveryPath */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.collectDiscoverRun:(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/String;)Ljava/util/Collection;
            areturn
        end local 3 // java.lang.String testDiscoveryPath
        end local 2 // java.nio.file.Path sourceDir
        end local 1 // java.nio.file.Path suiteDir
        end local 0 // java.nio.file.Path configPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0         configPath  Ljava/nio/file/Path;
            0    5     1           suiteDir  Ljava/nio/file/Path;
            0    5     2          sourceDir  Ljava/nio/file/Path;
            1    5     3  testDiscoveryPath  Ljava/lang/String;
    Exceptions:
      throws java.lang.AssertionError
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Collection<[Ljava/lang/Object;>;
    MethodParameters:
            Name  Flags
      configPath  
      suiteDir    
      sourceDir   

  public static final java.util.Collection<java.lang.Object[]> collectRegularRun(java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Collection;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.nio.file.Path configPath
        start local 1 // java.nio.file.Path suiteDir
         0: .line 100
            aload 0 /* configPath */
            aload 1 /* suiteDir */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getWhiteListTestFolders:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Map;
            astore 2 /* tests */
        start local 2 // java.util.Map tests
         1: .line 103
            aload 2 /* tests */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 2 /* tests */
            invokedynamic test(Ljava/util/Map;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$7(Ljava/util/Map;Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* missingTests */
        start local 3 // java.util.List missingTests
         2: .line 104
            aload 3 /* missingTests */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         3: .line 105
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "The following tests are on the white list but not found:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* missingTests */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$8(Ljava/nio/file/Path;)Ljava/lang/String; (6)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            ldc "\n"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 107
      StackMap locals: java.util.Map java.util.List
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Collected %d test folders."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* tests */
            invokeinterface java.util.Map.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 110
            aload 2 /* tests */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            aload 2 /* tests */
            invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$9(Ljava/util/Map;Ljava/nio/file/Path;)[Ljava/lang/Object; (6)
                  (Ljava/nio/file/Path;)[Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
            areturn
        end local 3 // java.util.List missingTests
        end local 2 // java.util.Map tests
        end local 1 // java.nio.file.Path suiteDir
        end local 0 // java.nio.file.Path configPath
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0    configPath  Ljava/nio/file/Path;
            0    6     1      suiteDir  Ljava/nio/file/Path;
            1    6     2         tests  Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
            2    6     3  missingTests  Ljava/util/List<Ljava/nio/file/Path;>;
    Exceptions:
      throws java.lang.AssertionError
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Collection<[Ljava/lang/Object;>;
    MethodParameters:
            Name  Flags
      configPath  
      suiteDir    

  private static java.util.Collection<java.lang.Object[]> collectDiscoverRun(java.nio.file.Path, java.nio.file.Path, java.nio.file.Path, java.lang.String);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // java.nio.file.Path configPath
        start local 1 // java.nio.file.Path suiteDir
        start local 2 // java.nio.file.Path sourceDir
        start local 3 // java.lang.String testDiscoveryPath
         0: .line 115
            aload 0 /* configPath */
            aload 1 /* suiteDir */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getWhiteListTestFolders:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Map;
            astore 4 /* tests */
        start local 4 // java.util.Map tests
         1: .line 117
            aload 2 /* sourceDir */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getFiles:(Ljava/nio/file/Path;)Ljava/util/Set;
            astore 5 /* availableSourceFiles */
        start local 5 // java.util.Set availableSourceFiles
         2: .line 119
            aload 3 /* testDiscoveryPath */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.collectTestCases:(Ljava/lang/String;)Ljava/util/Set;
            astore 6 /* compiledTests */
        start local 6 // java.util.Set compiledTests
         3: .line 122
            aload 6 /* compiledTests */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 4 /* tests */
            invokedynamic test(Ljava/util/Map;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$10(Ljava/util/Map;Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 7 /* greyList */
        start local 7 // java.util.Set greyList
         4: .line 125
            aload 5 /* availableSourceFiles */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 2 /* sourceDir */
            invokedynamic apply(Ljava/nio/file/Path;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$11(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 8 /* availableSourceFilesRelative */
        start local 8 // java.util.Set availableSourceFilesRelative
         5: .line 127
            aload 7 /* greyList */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
         6: .line 128
            aload 8 /* availableSourceFilesRelative */
            aload 1 /* suiteDir */
            invokedynamic apply(Ljava/util/Set;Ljava/nio/file/Path;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$12(Ljava/util/Set;Ljava/nio/file/Path;Ljava/nio/file/Path;)[Ljava/lang/Object; (6)
                  (Ljava/nio/file/Path;)[Ljava/lang/Object;
         7: .line 127
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 131
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
         9: .line 130
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
        10: .line 127
            areturn
        end local 8 // java.util.Set availableSourceFilesRelative
        end local 7 // java.util.Set greyList
        end local 6 // java.util.Set compiledTests
        end local 5 // java.util.Set availableSourceFiles
        end local 4 // java.util.Map tests
        end local 3 // java.lang.String testDiscoveryPath
        end local 2 // java.nio.file.Path sourceDir
        end local 1 // java.nio.file.Path suiteDir
        end local 0 // java.nio.file.Path configPath
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   11     0                    configPath  Ljava/nio/file/Path;
            0   11     1                      suiteDir  Ljava/nio/file/Path;
            0   11     2                     sourceDir  Ljava/nio/file/Path;
            0   11     3             testDiscoveryPath  Ljava/lang/String;
            1   11     4                         tests  Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
            2   11     5          availableSourceFiles  Ljava/util/Set<Ljava/nio/file/Path;>;
            3   11     6                 compiledTests  Ljava/util/Set<Ljava/nio/file/Path;>;
            4   11     7                      greyList  Ljava/util/Set<Ljava/nio/file/Path;>;
            5   11     8  availableSourceFilesRelative  Ljava/util/Set<Ljava/nio/file/Path;>;
    Exceptions:
      throws java.lang.AssertionError
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/String;)Ljava/util/Collection<[Ljava/lang/Object;>;
    MethodParameters:
                   Name  Flags
      configPath         
      suiteDir           
      sourceDir          
      testDiscoveryPath  

  private static java.nio.file.Path getRelative(java.net.URI, java.net.URI);
    descriptor: (Ljava/net/URI;Ljava/net/URI;)Ljava/nio/file/Path;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URI base
        start local 1 // java.net.URI abs
         0: .line 135
            aload 0 /* base */
            aload 1 /* abs */
            invokevirtual java.net.URI.relativize:(Ljava/net/URI;)Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.net.URI abs
        end local 0 // java.net.URI base
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  base  Ljava/net/URI;
            0    1     1   abs  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      base  
      abs   

  private static java.util.Set<java.nio.file.Path> collectTestCases(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String testDiscoveryPath
         0: .line 139
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* testDiscoveryPath */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            astore 3 /* files */
        start local 3 // java.util.stream.Stream files
         2: .line 140
            aload 3 /* files */
            getstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isExecutable:Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$14(Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         3: .line 141
            aload 3 /* files */
            ifnull 4
            aload 3 /* files */
            invokeinterface java.util.stream.Stream.close:()V
         4: .line 140
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.util.Set
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 141
            aload 3 /* files */
            ifnull 7
            aload 3 /* files */
            invokeinterface java.util.stream.Stream.close:()V
        end local 3 // java.util.stream.Stream files
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
      StackMap locals: java.lang.String
      StackMap stack: java.io.IOException
        11: astore 1 /* e */
        start local 1 // java.io.IOException e
        12: .line 142
            new java.lang.AssertionError
            dup
            ldc "Test cases not found"
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.lang.String testDiscoveryPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0  testDiscoveryPath  Ljava/lang/String;
            2    7     3              files  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           12   13     1                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any
           0     4      11  Class java.io.IOException
           5    11      11  Class java.io.IOException
    Exceptions:
      throws java.lang.AssertionError
    Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/nio/file/Path;>;
    MethodParameters:
                   Name  Flags
      testDiscoveryPath  

  public static final java.util.Map<java.nio.file.Path, java.nio.file.Path> getWhiteListTestFolders(java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.nio.file.Path configDir
        start local 1 // java.nio.file.Path suiteDirectory
         0: .line 150
            aload 0 /* configDir */
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getWhiteListEntries:(Ljava/nio/file/Path;)Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$15(Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 1 /* suiteDirectory */
            invokedynamic apply(Ljava/nio/file/Path;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$16(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 1 // java.nio.file.Path suiteDirectory
        end local 0 // java.nio.file.Path configDir
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0       configDir  Ljava/nio/file/Path;
            0    1     1  suiteDirectory  Ljava/nio/file/Path;
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
    MethodParameters:
                Name  Flags
      configDir       
      suiteDirectory  

  private static java.util.Set<java.nio.file.Path> getWhiteListEntries(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.nio.file.Path configDir
         0: .line 154
            new com.oracle.truffle.llvm.tests.BaseTestHarness$1
            dup
            invokespecial com.oracle.truffle.llvm.tests.BaseTestHarness$1.<init>:()V
            astore 1 /* filter */
        start local 1 // java.util.function.Predicate filter
         1: .line 170
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* configDir */
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            astore 4 /* files */
        start local 4 // java.util.stream.Stream files
         3: .line 171
            aload 4 /* files */
            getstatic com.oracle.truffle.llvm.tests.BaseTestHarness.isIncludeFile:Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$17(Ljava/nio/file/Path;)Ljava/util/stream/Stream; (6)
                  (Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 177
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$19(Ljava/lang/String;)Ljava/nio/file/Path; (6)
                  (Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 1 /* filter */
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         5: .line 178
            aload 4 /* files */
            ifnull 6
            aload 4 /* files */
            invokeinterface java.util.stream.Stream.close:()V
         6: .line 171
      StackMap locals: java.nio.file.Path java.util.function.Predicate java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.util.Set
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 178
            aload 4 /* files */
            ifnull 9
            aload 4 /* files */
            invokeinterface java.util.stream.Stream.close:()V
        end local 4 // java.util.stream.Stream files
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals: java.nio.file.Path java.util.function.Predicate
      StackMap stack: java.io.IOException
        13: astore 2 /* e */
        start local 2 // java.io.IOException e
        14: .line 179
            new java.lang.AssertionError
            dup
            ldc "Error creating whitelist."
            aload 2 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        end local 1 // java.util.function.Predicate filter
        end local 0 // java.nio.file.Path configDir
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0  configDir  Ljava/nio/file/Path;
            1   15     1     filter  Ljava/util/function/Predicate<Ljava/nio/file/Path;>;
            3    9     4      files  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           14   15     2          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     5       7  any
           2     6      10  any
           7    10      10  any
           1     6      13  Class java.io.IOException
           7    13      13  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;)Ljava/util/Set<Ljava/nio/file/Path;>;
    MethodParameters:
           Name  Flags
      configDir  

  private static java.lang.String sourceFileNameToSuiteDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 188
            new java.lang.StringBuilder
            dup
            aload 0 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".dir"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.util.Set<java.nio.file.Path> getFiles(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.nio.file.Path source
         0: .line 192
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* source */
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            astore 3 /* files */
        start local 3 // java.util.stream.Stream files
         2: .line 193
            aload 3 /* files */
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$20(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         3: .line 194
            aload 3 /* files */
            ifnull 4
            aload 3 /* files */
            invokeinterface java.util.stream.Stream.close:()V
         4: .line 193
      StackMap locals: java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.util.Set
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 194
            aload 3 /* files */
            ifnull 7
            aload 3 /* files */
            invokeinterface java.util.stream.Stream.close:()V
        end local 3 // java.util.stream.Stream files
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
      StackMap locals: java.nio.file.Path
      StackMap stack: java.io.IOException
        11: astore 1 /* e */
        start local 1 // java.io.IOException e
        12: .line 195
            new java.lang.AssertionError
            dup
            ldc "Error getting files."
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.nio.file.Path source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0  source  Ljava/nio/file/Path;
            2    7     3   files  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           12   13     1       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any
           0     4      11  Class java.io.IOException
           5    11      11  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;)Ljava/util/Set<Ljava/nio/file/Path;>;
    MethodParameters:
        Name  Flags
      source  

  public static java.lang.String getFileEnding(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 200
            aload 0 /* s */
            aload 0 /* s */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static boolean lambda$0(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 58
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            ldc ".out"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$3(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 59
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            ldc ".include"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$4(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 60
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            ldc ".exclude"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$2(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 61
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            ldc ".bc"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$1(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 62
            aload 0 /* f */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$5(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 83
            aload 0 /* s */
            getstatic com.oracle.truffle.llvm.tests.options.TestOptions.TEST_FILTER:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private static boolean lambda$6(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 85
            iconst_1
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private static boolean lambda$7(java.util.Map, java.nio.file.Path);
    descriptor: (Ljava/util/Map;Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.nio.file.Path p
         0: .line 103
            aload 0
            aload 1 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.file.Path
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     p  Ljava/nio/file/Path;

  private static java.lang.String lambda$8(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path p
         0: .line 105
            aload 0 /* p */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     p  Ljava/nio/file/Path;

  private static java.lang.Object[] lambda$9(java.util.Map, java.nio.file.Path);
    descriptor: (Ljava/util/Map;Ljava/nio/file/Path;)[Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // java.nio.file.Path f
         0: .line 110
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0
            aload 1 /* f */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 1 /* f */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aastore
            areturn
        end local 1 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  Ljava/nio/file/Path;

  private static boolean lambda$10(java.util.Map, java.nio.file.Path);
    descriptor: (Ljava/util/Map;Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.nio.file.Path t
         0: .line 122
            aload 0
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* t */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.nio.file.Path t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     t  Ljava/nio/file/Path;

  private static java.nio.file.Path lambda$11(java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.nio.file.Path e
         0: .line 125
            aload 0
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aload 1 /* e */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getRelative:(Ljava/net/URI;Ljava/net/URI;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     e  Ljava/nio/file/Path;

  private static java.lang.Object[] lambda$12(java.util.Set, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/util/Set;Ljava/nio/file/Path;Ljava/nio/file/Path;)[Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 2 // java.nio.file.Path t
         0: .line 128
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* t */
            aastore
            dup
            iconst_1
            aload 0
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 1
            aload 2 /* t */
            invokedynamic test(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$13(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         1: .line 130
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aastore
            areturn
        end local 2 // java.nio.file.Path t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     2     t  Ljava/nio/file/Path;

  private static java.nio.file.Path lambda$14(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 140
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            areturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static java.nio.file.Path lambda$15(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path wl
         0: .line 150
            aload 0 /* wl */
            areturn
        end local 0 // java.nio.file.Path wl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    wl  Ljava/nio/file/Path;

  private static java.nio.file.Path lambda$16(java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // java.nio.file.Path wl
         0: .line 150
            aload 0
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* wl */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.sourceFileNameToSuiteDirectory:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path wl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    wl  Ljava/nio/file/Path;

  private static java.util.stream.Stream lambda$17(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 173
            aload 0 /* f */
            invokestatic java.nio.file.Files.lines:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/llvm/tests/BaseTestHarness.lambda$18(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         1: areturn
         2: .line 174
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 175
            new java.lang.AssertionError
            dup
            ldc "Error creating whitelist."
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     f  Ljava/nio/file/Path;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  private static java.nio.file.Path lambda$19(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 177
            aload 0 /* s */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private static boolean lambda$20(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path f
         0: .line 193
            getstatic com.oracle.truffle.llvm.tests.BaseTestHarness.supportedFiles:Ljava/util/Set;
            aload 0 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getFileEnding:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.nio.file.Path f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljava/nio/file/Path;

  private static boolean lambda$13(java.nio.file.Path, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // java.nio.file.Path s
         0: .line 129
            aload 2 /* s */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 0
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            aload 1
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokestatic com.oracle.truffle.llvm.tests.BaseTestHarness.getRelative:(Ljava/net/URI;Ljava/net/URI;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 2 // java.nio.file.Path s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     s  Ljava/nio/file/Path;

  private static boolean lambda$18(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String file
         0: .line 173
            aload 0 /* file */
            invokevirtual java.lang.String.length:()I
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  file  Ljava/lang/String;
}
SourceFile: "BaseTestHarness.java"
NestMembers:
  com.oracle.truffle.llvm.tests.BaseTestHarness$1
InnerClasses:
  com.oracle.truffle.llvm.tests.BaseTestHarness$1
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles