@Override public void afterRegistration(AfterRegistrationAccess access) { ImageSingletons.add(HeaderResolversRegistry.class, new HeaderResolversRegistry()); } }
/** Register additional resolvers. */ public static void registerAdditionalResolver(HeaderResolver resolver) { assert ImageSingletons.contains(HeaderResolversRegistry.class); HeaderResolversRegistry registry = ImageSingletons.lookup(HeaderResolversRegistry.class); registry.register(resolver); }
@Override public void afterRegistration(AfterRegistrationAccess access) { /** * Search for headers in a directory, relative to the current working directory, that * contains the Substrate VM projects. Using the "../substratevm*" relative path * accounts for running SVM from sibling suites. */ HeaderResolversRegistry.registerAdditionalResolver(new FallbackHeaderResolver("../../graal/substratevm/src")); } }
/** * Resolves the path to a C header file that is located in a Substrate VM project. */ public static String resolve(String projectName, String headerFile) { HeaderResolversRegistry resolvers = ImageSingletons.lookup(HeaderResolversRegistry.class); return resolvers.resolve(projectName, headerFile); }