Skip to content

Commit 2133be6

Browse files
committed
Ignore missing registration errors when querying bundles from JavaUtilResourceBundleAccess
1 parent f9404cb commit 2133be6

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/localization/substitutions/Target_java_util_ResourceBundle.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,5 +171,19 @@ private static ResourceBundle getBundleFromModule(Class<?> caller,
171171
private static native ClassLoader getLoader(Module module);
172172

173173
@Alias
174-
private static native ResourceBundle getBundleImpl(Module callerModule, Module module, String baseName, Locale locale, ResourceBundle.Control control);
174+
static native ResourceBundle getBundleImpl(Module callerModule, Module module, String baseName, Locale locale, ResourceBundle.Control control);
175+
176+
@Alias
177+
static native Control getDefaultControl(Module targetModule, String baseName);
178+
}
179+
180+
@TargetClass(className = "java.util.ResourceBundle$1")
181+
final class Target_java_util_ResourceBundle_1 {
182+
@Substitute
183+
public ResourceBundle getBundle(String baseName, Locale locale, Module module) {
184+
// use the given module as the caller to bypass the access check
185+
return MissingRegistrationUtils.runIgnoringMissingRegistrations(() -> Target_java_util_ResourceBundle.getBundleImpl(module, module,
186+
baseName, locale,
187+
Target_java_util_ResourceBundle.getDefaultControl(module, baseName)));
188+
}
175189
}

0 commit comments

Comments
 (0)