public final class com.oracle.svm.junit.JUnitFeature implements org.graalvm.nativeimage.hosted.Feature
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.junit.JUnitFeature
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.junit.JUnitFeature this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.junit.JUnitFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/junit/JUnitFeature;

  public static boolean isEnabledAndIncludesClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 49
            ldc Lcom/oracle/svm/junit/SVMJUnitRunner;
            invokestatic org.graalvm.nativeimage.ImageSingletons.contains:(Ljava/lang/Class;)Z
            ifeq 3
         1: .line 50
            ldc Lcom/oracle/svm/junit/SVMJUnitRunner;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.junit.SVMJUnitRunner
            invokevirtual com.oracle.svm.junit.SVMJUnitRunner.getJUnitRequest:()Lorg/junit/runner/Request;
            astore 1 /* request */
        start local 1 // org.junit.runner.Request request
         2: .line 51
            aload 1 /* request */
            invokevirtual org.junit.runner.Request.getRunner:()Lorg/junit/runner/Runner;
            invokevirtual org.junit.runner.Runner.getDescription:()Lorg/junit/runner/Description;
            aload 0 /* clazz */
            invokestatic com.oracle.svm.junit.JUnitFeature.includesClass:(Lorg/junit/runner/Description;Ljava/lang/Class;)Z
            ireturn
        end local 1 // org.junit.runner.Request request
         3: .line 53
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    clazz  Ljava/lang/Class<*>;
            2    3     1  request  Lorg/junit/runner/Request;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  

  private static boolean includesClass(org.junit.runner.Description, java.lang.Class<?>);
    descriptor: (Lorg/junit/runner/Description;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.runner.Description dn
        start local 1 // java.lang.Class clazz
         0: .line 57
            aload 1 /* clazz */
            aload 0 /* dn */
            invokevirtual org.junit.runner.Description.getTestClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* dn */
            invokevirtual org.junit.runner.Description.getChildren:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
            aload 1 /* clazz */
            invokedynamic test(Ljava/lang/Class;)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/svm/junit/JUnitFeature.lambda$0(Ljava/lang/Class;Lorg/junit/runner/Description;)Z (6)
                  (Lorg/junit/runner/Description;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.junit.runner.Description dn
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0     dn  Lorg/junit/runner/Description;
            0    2     1  clazz  Ljava/lang/Class<*>;
    Signature: (Lorg/junit/runner/Description;Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      dn     
      clazz  

  public java.util.List<java.lang.Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.junit.JUnitFeature this
         0: .line 62
            ldc Lcom/oracle/svm/reflect/hosted/ReflectionFeature;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.junit.JUnitFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/junit/JUnitFeature;
    Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;

  public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.svm.junit.JUnitFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess access
         0: .line 87
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         1: .line 67
            ldc Lcom/oracle/svm/junit/SVMJUnitRunner;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         2: .line 68
            ldc Lorg/junit/runner/Description;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         3: .line 69
            ldc Lorg/junit/runners/ParentRunner;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         4: .line 70
            ldc Lorg/junit/runners/Parameterized;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 71
            ldc "jcp.xml.dsig.internal.dom.XMLDSigRI"
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/String;)V
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 72
            ldc "org.junit.runners.ParentRunner$1"
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/String;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         7: .line 73
            ldc Lorg/junit/runner/Request;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 74
            ldc "org.junit.runner.Request$1"
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/String;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
         9: .line 75
            ldc Lorg/junit/runner/Runner;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 76
            ldc "org.junit.runner.Runner$1"
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/String;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        11: .line 77
            ldc Lorg/junit/runner/JUnitCore;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        12: .line 78
            ldc Lorg/junit/runners/Suite;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        13: .line 79
            ldc Lorg/junit/runners/BlockJUnit4ClassRunner;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        14: .line 80
            ldc Lorg/junit/runners/model/FrameworkMethod;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        15: .line 81
            ldc Lorg/junit/runners/model/TestClass;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        16: .line 82
            ldc Lorg/junit/runners/model/FrameworkField;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        17: .line 83
            ldc Lorg/junit/Assert;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        18: .line 84
            ldc Lcom/oracle/mxtool/junit/MxJUnitRequest;
            aastore
            invokestatic org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime:([Ljava/lang/Class;)V
        19: .line 85
            new com.oracle.svm.junit.SVMJUnitRunner
            dup
            aload 1 /* access */
            invokespecial com.oracle.svm.junit.SVMJUnitRunner.<init>:(Lorg/graalvm/nativeimage/hosted/Feature$FeatureAccess;)V
            astore 2 /* svmRunner */
        start local 2 // com.oracle.svm.junit.SVMJUnitRunner svmRunner
        20: .line 86
            ldc Lcom/oracle/svm/junit/SVMJUnitRunner;
            aload 2 /* svmRunner */
            invokestatic org.graalvm.nativeimage.ImageSingletons.add:(Ljava/lang/Class;Ljava/lang/Object;)V
            return
        end local 2 // com.oracle.svm.junit.SVMJUnitRunner svmRunner
        end local 1 // org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess access
        end local 0 // com.oracle.svm.junit.JUnitFeature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lcom/oracle/svm/junit/JUnitFeature;
            0   21     1     access  Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
           20   21     2  svmRunner  Lcom/oracle/svm/junit/SVMJUnitRunner;
    MethodParameters:
        Name  Flags
      access  

  private static boolean lambda$0(java.lang.Class, org.junit.runner.Description);
    descriptor: (Ljava/lang/Class;Lorg/junit/runner/Description;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.junit.runner.Description child
         0: .line 57
            aload 1 /* child */
            aload 0
            invokestatic com.oracle.svm.junit.JUnitFeature.includesClass:(Lorg/junit/runner/Description;Ljava/lang/Class;)Z
            ireturn
        end local 1 // org.junit.runner.Description child
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  child  Lorg/junit/runner/Description;
}
SourceFile: "JUnitFeature.java"
NestMembers:
  com.oracle.svm.junit.JUnitFeature$IsEnabled
InnerClasses:
  public IsEnabled = com.oracle.svm.junit.JUnitFeature$IsEnabled of com.oracle.svm.junit.JUnitFeature
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract FeatureAccess = org.graalvm.nativeimage.hosted.Feature$FeatureAccess of org.graalvm.nativeimage.hosted.Feature