5252@ AutomaticallyRegisteredFeature
5353@ SuppressWarnings ("unused" )
5454class NativeImageDebugInfoFeature implements InternalFeature {
55+ private NativeImageBFDNameProvider bfdNameProvider ;
5556
5657 @ Override
5758 public boolean isInConfiguration (IsInConfigurationAccess access ) {
@@ -80,7 +81,8 @@ public void afterRegistration(AfterRegistrationAccess access) {
8081 assert imageLoaderParent == appLoader .getParent ();
8182 // ensure the mangle ignores prefix generation for Graal loaders
8283 List <ClassLoader > ignored = List .of (systemLoader , imageLoaderParent , appLoader , imageLoader );
83- ImageSingletons .add (UniqueShortNameProvider .class , new NativeImageBFDNameProvider (ignored ));
84+ bfdNameProvider = new NativeImageBFDNameProvider (ignored );
85+ ImageSingletons .add (UniqueShortNameProvider .class , bfdNameProvider );
8486 }
8587 }
8688 }
@@ -90,14 +92,9 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
9092 /*
9193 * Make the name provider aware of the native libs
9294 */
93- if (!UniqueShortNameProviderDefaultImpl .UseDefault .useDefaultProvider ()) {
94- if (ImageSingletons .contains (UniqueShortNameProvider .class )) {
95- UniqueShortNameProvider provider = ImageSingletons .lookup (UniqueShortNameProvider .class );
96- if (provider instanceof NativeImageBFDNameProvider ) {
97- var accessImpl = (FeatureImpl .BeforeAnalysisAccessImpl ) access ;
98- ((NativeImageBFDNameProvider ) provider ).setNativeLibs (accessImpl .getNativeLibraries ());
99- }
100- }
95+ if (bfdNameProvider != null ) {
96+ var accessImpl = (FeatureImpl .BeforeAnalysisAccessImpl ) access ;
97+ bfdNameProvider .setNativeLibs (accessImpl .getNativeLibraries ());
10198 }
10299 }
103100
0 commit comments