< 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 >