interface com.oracle.svm.tutorial.CInterfaceTutorial$MyData extends org.graalvm.word.PointerBase
  minor version: 0
  major version: 59
  flags: flags: (0x0600) ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.oracle.svm.tutorial.CInterfaceTutorial$MyData
  super_class: java.lang.Object
{
  public abstract int getPrimitive();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_primitive")

  public abstract void setPrimitive(int);
    descriptor: (I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_primitive")
    MethodParameters:
       Name  Flags
      value  

  public abstract org.graalvm.nativeimage.c.type.CIntPointer addressOfArray();
    descriptor: ()Lorg/graalvm/nativeimage/c/type/CIntPointer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CFieldAddress(value = "f_array")

  public abstract org.graalvm.nativeimage.c.type.CCharPointer getCString();
    descriptor: ()Lorg/graalvm/nativeimage/c/type/CCharPointer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_cstr")

  public abstract void setCString(org.graalvm.nativeimage.c.type.CCharPointer);
    descriptor: (Lorg/graalvm/nativeimage/c/type/CCharPointer;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_cstr")
    MethodParameters:
       Name  Flags
      value  

  public abstract org.graalvm.nativeimage.ObjectHandle getJavaObject();
    descriptor: ()Lorg/graalvm/nativeimage/ObjectHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_java_object_handle")

  public abstract void setJavaObject(org.graalvm.nativeimage.ObjectHandle);
    descriptor: (Lorg/graalvm/nativeimage/ObjectHandle;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_java_object_handle")
    MethodParameters:
       Name  Flags
      value  

  public abstract com.oracle.svm.tutorial.CInterfaceTutorial$PrintFunctionPointer getPrintFunction();
    descriptor: ()Lcom/oracle/svm/tutorial/CInterfaceTutorial$PrintFunctionPointer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_print_function")

  public abstract void setPrintFunction(com.oracle.svm.tutorial.CInterfaceTutorial$PrintFunctionPointer);
    descriptor: (Lcom/oracle/svm/tutorial/CInterfaceTutorial$PrintFunctionPointer;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CField(value = "f_print_function")
    MethodParameters:
               Name  Flags
      printFunction  
}
SourceFile: "CInterfaceTutorial.java"
NestHost: com.oracle.svm.tutorial.CInterfaceTutorial
InnerClasses:
  abstract MyData = com.oracle.svm.tutorial.CInterfaceTutorial$MyData of com.oracle.svm.tutorial.CInterfaceTutorial
  abstract PrintFunctionPointer = com.oracle.svm.tutorial.CInterfaceTutorial$PrintFunctionPointer of com.oracle.svm.tutorial.CInterfaceTutorial
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.struct.CStruct(value = "my_data")