Skip to content

Commit 491db62

Browse files
author
Christian Wimmer
committed
Remove LocalizationFeatureJDK11OrLater
1 parent 4896452 commit 491db62

File tree

2 files changed

+9
-78
lines changed

2 files changed

+9
-78
lines changed

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/localization/LocalizationFeature.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
import org.graalvm.nativeimage.hosted.Feature;
7171

7272
import com.oracle.svm.core.ClassLoaderSupport;
73+
import com.oracle.svm.core.annotate.AutomaticFeature;
7374
import com.oracle.svm.core.annotate.Substitute;
7475
import com.oracle.svm.core.jdk.localization.BundleContentSubstitutedLocalizationSupport;
7576
import com.oracle.svm.core.jdk.localization.LocalizationSupport;
@@ -87,6 +88,7 @@
8788
import jdk.vm.ci.meta.ResolvedJavaField;
8889
import jdk.vm.ci.meta.ResolvedJavaMethod;
8990
import jdk.vm.ci.meta.ResolvedJavaType;
91+
import sun.text.spi.JavaTimeDateTimePatternProvider;
9092
import sun.util.locale.provider.LocaleProviderAdapter;
9193
import sun.util.locale.provider.ResourceBundleBasedAdapter;
9294
import sun.util.resources.LocaleData;
@@ -121,7 +123,8 @@
121123
* @see OptimizedLocalizationSupport
122124
* @see BundleContentSubstitutedLocalizationSupport
123125
*/
124-
public abstract class LocalizationFeature implements Feature {
126+
@AutomaticFeature
127+
public class LocalizationFeature implements Feature {
125128

126129
protected final boolean optimizedMode = Options.LocalizationOptimizedMode.getValue();
127130

@@ -248,7 +251,6 @@ public void afterRegistration(AfterRegistrationAccess access) {
248251
allLocales.add(defaultLocale);
249252
support = selectLocalizationSupport();
250253
ImageSingletons.add(LocalizationSupport.class, support);
251-
ImageSingletons.add(LocalizationFeature.class, this);
252254

253255
addCharsets();
254256
if (optimizedMode) {
@@ -390,26 +392,22 @@ public static void addCharset(Charset charset) {
390392
CurrencyNameProvider.class,
391393
LocaleNameProvider.class,
392394
TimeZoneNameProvider.class,
395+
JavaTimeDateTimePatternProvider.class,
393396
CalendarDataProvider.class,
394397
CalendarNameProvider.class);
395398

396-
@Platforms(Platform.HOSTED_ONLY.class)
397-
protected List<Class<? extends LocaleServiceProvider>> getSpiClasses() {
398-
return spiClasses;
399-
}
400-
401399
@Platforms(Platform.HOSTED_ONLY.class)
402400
private void addProviders() {
403401
OptimizedLocalizationSupport optimizedLocalizationSupport = support.asOptimizedSupport();
404-
for (Class<? extends LocaleServiceProvider> providerClass : getSpiClasses()) {
402+
for (Class<? extends LocaleServiceProvider> providerClass : spiClasses) {
405403
LocaleProviderAdapter adapter = Objects.requireNonNull(LocaleProviderAdapter.getAdapter(providerClass, defaultLocale));
406404
LocaleServiceProvider provider = Objects.requireNonNull(adapter.getLocaleServiceProvider(providerClass));
407405
optimizedLocalizationSupport.providerPools.put(providerClass, new Target_sun_util_locale_provider_LocaleServiceProviderPool_OptimizedLocaleMode(provider));
408406
}
409407

410408
for (Locale locale : allLocales) {
411409
for (Locale candidateLocale : optimizedLocalizationSupport.control.getCandidateLocales("", locale)) {
412-
for (Class<? extends LocaleServiceProvider> providerClass : getSpiClasses()) {
410+
for (Class<? extends LocaleServiceProvider> providerClass : spiClasses) {
413411
LocaleProviderAdapter adapter = Objects.requireNonNull(LocaleProviderAdapter.getAdapter(providerClass, candidateLocale));
414412

415413
optimizedLocalizationSupport.adaptersByClass.put(Pair.create(providerClass, candidateLocale), adapter);
@@ -432,10 +430,11 @@ protected void addResourceBundles() {
432430
prepareBundle(localeData(java.text.spi.BreakIteratorProvider.class, locale).getCollationData(locale), locale);
433431
prepareBundle(localeData(java.text.spi.DateFormatProvider.class, locale).getDateFormatData(locale), locale);
434432
prepareBundle(localeData(java.text.spi.NumberFormatProvider.class, locale).getNumberFormatData(locale), locale);
435-
/* Note that JDK 11 support overrides this method to register more bundles. */
433+
prepareBundle(localeData(java.text.spi.BreakIteratorProvider.class, locale).getBreakIteratorResources(locale), locale);
436434
}
437435

438436
final String[] alwaysRegisteredResourceBundles = new String[]{
437+
"sun.text.resources.FormatData",
439438
"sun.util.logging.resources.logging",
440439
"sun.util.resources.TimeZoneNames"
441440
};

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/localization/LocalizationFeatureJDK11OrLater.java

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)