< prev index next >

src/java.base/share/classes/jdk/internal/nicl/LibrariesHelper.java

Print this page

        

@@ -28,10 +28,11 @@
 
 import java.lang.invoke.MethodHandles.Lookup;
 import java.nicl.Library;
 import java.nicl.Libraries;
 import java.nicl.metadata.NativeHeader;
+import java.nicl.metadata.NativeStruct;
 import java.nicl.metadata.NativeType;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Arrays;

@@ -69,12 +70,11 @@
 
     // Cache: Struct interface Class -> Impl Class.
     private static final ClassValue<Class<?>> STRUCT_IMPLEMENTATIONS = new ClassValue<>() {
         @Override
         protected Class<?> computeValue(Class<?> c) {
-            assert c.isAnnotationPresent(NativeType.class) &&
-                   c.getAnnotation(NativeType.class).isRecordType();
+            assert c.isAnnotationPresent(NativeStruct.class);
             return generateImpl(c, new StructImplGenerator(c, generateImplName(c), c));
         }
     };
 
     /**

@@ -83,13 +83,11 @@
      * @param c the Struct interface for which to return an implementation class
      * @return a class implementing the interface
      */
     @SuppressWarnings("unchecked")
     public static <T> Class<? extends T> getStructImplClass(Class<T> c) {
-        boolean isRecordType = c.isAnnotationPresent(NativeType.class) &&
-                    c.getAnnotation(NativeType.class).isRecordType();
-        if (! isRecordType) {
+        if (!c.isAnnotationPresent(NativeStruct.class)) {
             throw new IllegalArgumentException("Not a Struct interface: " + c);
         }
 
         return (Class<? extends T>)STRUCT_IMPLEMENTATIONS.get(c);
     }
< prev index next >