public class com.oracle.svm.jni.nativeapi.JNIHeaderDirectives implements org.graalvm.nativeimage.c.CContext$Directives
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
  super_class: java.lang.Object
{
  private final java.nio.file.Path jdkIncludeDir;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 8
            if_icmpgt 3
         2: .line 40
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)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;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            ldc "include"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            goto 4
         3: .line 41
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
      StackMap stack: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)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;
            ldc "include"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
      StackMap stack: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives java.nio.file.Path
         4: putfield com.oracle.svm.jni.nativeapi.JNIHeaderDirectives.jdkIncludeDir:Ljava/nio/file/Path;
         5: .line 37
            return
        end local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/svm/jni/nativeapi/JNIHeaderDirectives;

  public java.util.List<java.lang.String> getHeaderFiles();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
         0: .line 45
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.jni.nativeapi.JNIHeaderDirectives.jdkIncludeDir:Ljava/nio/file/Path;
            ldc "jni.h"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/jni/nativeapi/JNIHeaderDirectives;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getOptions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
         0: .line 50
            new java.lang.StringBuilder
            dup
            ldc "-I"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.jni.nativeapi.JNIHeaderDirectives.jdkIncludeDir:Ljava/nio/file/Path;
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
            if_acmpne 1
            ldc "win32"
            goto 2
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
      StackMap stack: java.lang.StringBuilder java.nio.file.Path
         1: invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            invokevirtual com.oracle.svm.core.OS.asPackageName:()Ljava/lang/String;
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIHeaderDirectives
      StackMap stack: java.lang.StringBuilder java.nio.file.Path java.lang.String
         2: invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // com.oracle.svm.jni.nativeapi.JNIHeaderDirectives this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/jni/nativeapi/JNIHeaderDirectives;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "JNIHeaderDirectives.java"
InnerClasses:
  public abstract Directives = org.graalvm.nativeimage.c.CContext$Directives of org.graalvm.nativeimage.c.CContext