public final class jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin extends jdk.tools.jlink.internal.plugins.AbstractPlugin implements jdk.tools.jlink.internal.ResourcePrevisitor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin
super_class: jdk.tools.jlink.internal.plugins.AbstractPlugin
{
private static final java.lang.String MODULENAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk.localedata"
private static final java.util.Set<java.lang.String> LOCALEDATA_PACKAGES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.lang.String METAINFONAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "LocaleDataMetaInfo"
private static final java.util.List<java.lang.String> META_FILES;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final java.util.List<java.lang.String> INCLUDE_LOCALE_FILES;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.util.function.Predicate<java.lang.String> predicate;
descriptor: Ljava/util/function/Predicate;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/function/Predicate<Ljava/lang/String;>;
private java.lang.String userParam;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.util.Locale$LanguageRange> priorityList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
private java.util.List<java.util.Locale> available;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/util/Locale;>;
private java.util.List<java.lang.String> filtered;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final sun.util.locale.provider.ResourceBundleBasedAdapter CLDR_ADAPTER;
descriptor: Lsun/util/locale/provider/ResourceBundleBasedAdapter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.util.Locale, java.lang.String[]> CLDR_PARENT_LOCALES;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/Locale;[Ljava/lang/String;>;
private static final java.util.Map<java.lang.String, java.util.List<java.lang.String>> EQUIV_MAP;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
private static final java.lang.String jaJPJPTag;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ja-JP-JP"
private static final java.lang.String noNONYTag;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "no-NO-NY"
private static final java.lang.String thTHTHTag;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "th-TH-TH"
private static final java.util.Locale jaJPJP;
descriptor: Ljava/util/Locale;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Locale noNONY;
descriptor: Ljava/util/Locale;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Locale thTHTH;
descriptor: Ljava/util/Locale;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Locale$Builder LOCALE_BUILDER;
descriptor: Ljava/util/Locale$Builder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: ldc "sun.text.resources.cldr.ext"
1: ldc "sun.text.resources.ext"
2: ldc "sun.util.resources.cldr.ext"
3: ldc "sun.util.resources.cldr.provider"
4: ldc "sun.util.resources.ext"
5: ldc "sun.util.resources.provider"
6: invokestatic java.util.Set.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALEDATA_PACKAGES:Ljava/util/Set;
7: ldc ".+module-info.class"
8: ldc ".+LocaleDataProvider.class"
9: ldc ".+LocaleDataMetaInfo.class"
10: invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.META_FILES:Ljava/util/List;
11: ldc ".+sun/text/resources/ext/[^_]+_"
12: ldc ".+sun/util/resources/ext/[^_]+_"
13: ldc ".+sun/text/resources/cldr/ext/[^_]+_"
14: ldc ".+sun/util/resources/cldr/ext/[^_]+_"
15: invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.INCLUDE_LOCALE_FILES:Ljava/util/List;
16: getstatic sun.util.locale.provider.LocaleProviderAdapter$Type.CLDR:Lsun/util/locale/provider/LocaleProviderAdapter$Type;
invokestatic sun.util.locale.provider.LocaleProviderAdapter.forType:(Lsun/util/locale/provider/LocaleProviderAdapter$Type;)Lsun/util/locale/provider/LocaleProviderAdapter;
checkcast sun.util.locale.provider.ResourceBundleBasedAdapter
17: putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.CLDR_ADAPTER:Lsun/util/locale/provider/ResourceBundleBasedAdapter;
18: new sun.util.cldr.CLDRBaseLocaleDataMetaInfo
dup
invokespecial sun.util.cldr.CLDRBaseLocaleDataMetaInfo.<init>:()V
invokevirtual sun.util.cldr.CLDRBaseLocaleDataMetaInfo.parentLocales:()Ljava/util/Map;
19: putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.CLDR_PARENT_LOCALES:Ljava/util/Map;
20: ldc "zh-Hans"
ldc "zh-Hans"
ldc "zh-CN"
ldc "zh-SG"
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
21: ldc "zh-Hant"
ldc "zh-Hant"
ldc "zh-HK"
ldc "zh-MO"
ldc "zh-TW"
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
22: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
23: invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
24: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
25: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.CLDR_PARENT_LOCALES:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
26: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$0(Ljava/util/Map$Entry;)Ljava/util/AbstractMap$SimpleEntry; (6)
(Ljava/util/Map$Entry;)Ljava/util/AbstractMap$SimpleEntry;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
27: invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
28: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/String;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/util/List;
invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
29: putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.EQUIV_MAP:Ljava/util/Map;
30: new java.util.Locale
dup
ldc "ja"
ldc "JP"
ldc "JP"
invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.jaJPJP:Ljava/util/Locale;
31: new java.util.Locale
dup
ldc "no"
ldc "NO"
ldc "NY"
invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.noNONY:Ljava/util/Locale;
32: new java.util.Locale
dup
ldc "th"
ldc "TH"
ldc "TH"
invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.thTHTH:Ljava/util/Locale;
33: new java.util.Locale$Builder
dup
invokespecial java.util.Locale$Builder.<init>:()V
putstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALE_BUILDER:Ljava/util/Locale$Builder;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "include-locales"
invokespecial jdk.tools.jlink.internal.plugins.AbstractPlugin.<init>:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
public jdk.tools.jlink.plugin.ResourcePool transform(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokedynamic apply(Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$7(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry; (7)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
1: aload 2
2: invokeinterface jdk.tools.jlink.plugin.ResourcePool.transformAndCopy:(Ljava/util/function/Function;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)V
3: aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.build:()Ljdk/tools/jlink/plugin/ResourcePool;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 4 1 in Ljdk/tools/jlink/plugin/ResourcePool;
0 4 2 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
MethodParameters:
Name Flags
in
out
public jdk.tools.jlink.plugin.Plugin$Category getType();
descriptor: ()Ljdk/tools/jlink/plugin/Plugin$Category;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jlink.plugin.Plugin$Category.FILTER:Ljdk/tools/jlink/plugin/Plugin$Category;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
public boolean hasArguments();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
public void configure(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.userParam:Ljava/lang/String;
1: aload 0
aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.userParam:Ljava/lang/String;
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.EQUIV_MAP:Ljava/util/Map;
invokestatic java.util.Locale$LanguageRange.parse:(Ljava/lang/String;Ljava/util/Map;)Ljava/util/List;
putfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.priorityList:Ljava/util/List;
2: goto 8
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
3: astore 2
start local 2 4: new java.lang.IllegalArgumentException
dup
5: new java.lang.StringBuilder
dup
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".invalidtag"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
6: aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
ldc "^range="
ldc ""
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 9 1 config Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
4 8 2 iae Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
config
public void previsit(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.internal.StringTable);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/internal/StringTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: ldc ".*((Data_)|(Names_))(?<tag>.*)\\.class"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 3
start local 3 1: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
ldc "jdk.localedata"
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModuleView.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 4
start local 4 2: aload 4
invokevirtual java.util.Optional.isPresent:()Z
ifeq 24
3: aload 4
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast jdk.tools.jlink.plugin.ResourcePoolModule
astore 5
start local 5 4: aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.packages:()Ljava/util/Set;
astore 6
start local 6 5: aload 6
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALEDATA_PACKAGES:Ljava/util/Set;
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ifne 12
6: new jdk.tools.jlink.plugin.PluginException
dup
new java.lang.StringBuilder
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".missingpackages"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALEDATA_PACKAGES:Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
8: aload 6
invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$9(Ljava/util/Set;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
9: ldc ",\n\t"
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin jdk.tools.jlink.plugin.ResourcePool jdk.tools.jlink.internal.StringTable java.util.regex.Pattern java.util.Optional jdk.tools.jlink.plugin.ResourcePoolModule java.util.Set
StackMap stack:
aload 0
aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.entries:()Ljava/util/stream/Stream;
13: aload 3
invokedynamic apply(Ljava/util/regex/Pattern;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$10(Ljava/util/regex/Pattern;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/regex/Matcher; (6)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/regex/Matcher;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
14: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$11(Ljava/util/regex/Matcher;)Z (6)
(Ljava/util/regex/Matcher;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
15: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$12(Ljava/util/regex/Matcher;)Ljava/lang/String; (6)
(Ljava/util/regex/Matcher;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
16: ldc "ja-JP-JP"
invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
ldc "th-TH-TH"
invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
17: invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
18: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
19: invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
20: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.tagToLocale(Ljava/lang/String;)Ljava/util/Locale; (6)
(Ljava/lang/String;)Ljava/util/Locale;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
21: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
22: putfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.available:Ljava/util/List;
end local 6 end local 5 23: goto 25
24: StackMap locals:
StackMap stack:
new jdk.tools.jlink.plugin.PluginException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".localedatanotfound"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.available:Ljava/util/List;
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filterLocales:(Ljava/util/List;)Ljava/util/List;
putfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filtered:Ljava/util/List;
26: aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filtered:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 30
27: new jdk.tools.jlink.plugin.PluginException
dup
28: new java.lang.StringBuilder
dup
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".nomatchinglocales"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.userParam:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
29: invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.META_FILES:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
31: aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filtered:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic apply(Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$14(Ljava/lang/String;)Ljava/util/stream/Stream; (7)
(Ljava/lang/String;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
32: invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
33: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$15(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
34: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
35: astore 5
start local 5 36: aload 0
aload 5
invokestatic jdk.tools.jlink.internal.plugins.ResourceFilter.includeFilter:(Ljava/util/List;)Ljdk/tools/jlink/internal/plugins/ResourceFilter;
putfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.predicate:Ljava/util/function/Predicate;
37: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 38 1 resources Ljdk/tools/jlink/plugin/ResourcePool;
0 38 2 strings Ljdk/tools/jlink/internal/StringTable;
1 38 3 p Ljava/util/regex/Pattern;
2 38 4 optMod Ljava/util/Optional<Ljdk/tools/jlink/plugin/ResourcePoolModule;>;
4 23 5 module Ljdk/tools/jlink/plugin/ResourcePoolModule;
5 23 6 packages Ljava/util/Set<Ljava/lang/String;>;
36 38 5 value Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
resources
strings
private java.util.List<java.lang.String> includeLocaleFilePatterns(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc ".+-[a-z]-.+"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 2
1: invokestatic java.util.List.of:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
aload 1
ldc "-"
ldc "_"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.includeLocaleFiles:(Ljava/lang/String;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 3: aload 1
ldc "th"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 2
ldc ".+sun/text/resources/ext/thai_dict"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 2
ldc ".+sun/text/resources/ext/[^_]+BreakIteratorData_th"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: java.util.List
StackMap stack:
aload 1
ldc "zh-HK"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 2
aload 0
ldc "zh_TW"
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.includeLocaleFiles:(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 9 1 tag Ljava/lang/String;
3 9 2 files Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
tag
private java.util.List<java.lang.String> includeLocaleFiles(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.INCLUDE_LOCALE_FILES:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: aload 1
invokedynamic apply(Ljava/lang/String;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$16(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 4 1 localeStr Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
localeStr
private boolean stripUnsupportedLocales(byte[], jdk.internal.org.objectweb.asm.ClassReader);
descriptor: ([BLjdk/internal/org/objectweb/asm/ClassReader;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
newarray 4
astore 3
start local 3 1: iconst_1
aload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.getItemCount:()I
invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
2: aload 2
invokedynamic applyAsInt(Ljdk/internal/org/objectweb/asm/ClassReader;)Ljava/util/function/IntUnaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)I
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$17(Ljdk/internal/org/objectweb/asm/ClassReader;I)I (6)
(I)I
invokeinterface java.util.stream.IntStream.map:(Ljava/util/function/IntUnaryOperator;)Ljava/util/stream/IntStream;
3: aload 0
aload 1
aload 2
aload 3
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;[BLjdk/internal/org/objectweb/asm/ClassReader;[Z)Ljava/util/function/IntConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)V
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$18([BLjdk/internal/org/objectweb/asm/ClassReader;[ZI)V (7)
(I)V
invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
4: aload 3
iconst_0
baload
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 5 1 bytes [B
0 5 2 cr Ljdk/internal/org/objectweb/asm/ClassReader;
1 5 3 modified [Z
MethodParameters:
Name Flags
bytes
cr
private boolean filterOutUnsupportedTags(byte[]);
descriptor: ([B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([B)V
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 3
start local 3 1: aload 3
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$19(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.tagToLocale(Ljava/lang/String;)Ljava/util/Locale; (6)
(Ljava/lang/String;)Ljava/util/Locale;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
4: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
5: astore 2
start local 2 6: goto 9
end local 2 StackMap locals: jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin byte[] top java.util.List
StackMap stack: java.util.IllformedLocaleException
7: pop
8: iconst_0
ireturn
start local 2 9: StackMap locals: jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin byte[] java.util.List java.util.List
StackMap stack:
aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filterLocales:(Ljava/util/List;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
10: aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Ljava/util/List;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/List.contains(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
11: ldc " "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
12: invokevirtual java.lang.String.getBytes:()[B
13: astore 4
start local 4 14: aload 4
arraylength
aload 1
arraylength
if_icmple 16
15: new java.lang.InternalError
dup
ldc "Size of filtered locales is bigger than the original one"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: byte[]
StackMap stack:
aload 4
iconst_0
aload 1
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 1
aload 4
arraylength
aload 1
arraylength
bipush 32
invokestatic java.util.Arrays.fill:([BIIB)V
18: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 19 1 b [B
6 7 2 locales Ljava/util/List<Ljava/util/Locale;>;
9 19 2 locales Ljava/util/List<Ljava/util/Locale;>;
1 19 3 originalTags Ljava/util/List<Ljava/lang/String;>;
14 19 4 filteredBytes [B
Exception table:
from to target type
1 6 7 Class java.util.IllformedLocaleException
MethodParameters:
Name Flags
b
private java.util.List<java.lang.String> filterLocales(java.util.List<java.util.Locale>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.priorityList:Ljava/util/List;
aload 1
getstatic java.util.Locale$FilteringMode.EXTENDED_FILTERING:Ljava/util/Locale$FilteringMode;
invokestatic java.util.Locale.filter:(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$22(Ljava/util/Locale;)Ljava/util/stream/Stream; (6)
(Ljava/util/Locale;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: aload 1
invokedynamic apply(Ljava/util/List;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$23(Ljava/util/List;Ljava/util/Locale;)Ljava/util/Optional; (6)
(Ljava/util/Locale;)Ljava/util/Optional;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Optional.stream()Ljava/util/stream/Stream; (5)
(Ljava/util/Optional;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
4: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.localeToTags(Ljava/util/Locale;)Ljava/util/stream/Stream; (6)
(Ljava/util/Locale;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
6: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
7: astore 2
start local 2 8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 9 1 locales Ljava/util/List<Ljava/util/Locale;>;
8 9 2 ret Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/util/Locale;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
locales
private static java.util.Locale tagToLocale(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Locale;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "^iw"
ldc "he"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
ldc "^ji"
ldc "yi"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
ldc "^in"
ldc "id"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
1: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-518283308: 2
-472985013: 3
1601894167: 4
default: 8
}
StackMap locals: java.lang.String
StackMap stack:
2: aload 1
ldc "th-TH-TH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 8
StackMap locals:
StackMap stack:
3: aload 1
ldc "no-NO-NY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 8
StackMap locals:
StackMap stack:
4: aload 1
ldc "ja-JP-JP"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 8
5: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.jaJPJP:Ljava/util/Locale;
areturn
6: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.noNONY:Ljava/util/Locale;
areturn
7: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.thTHTH:Ljava/util/Locale;
areturn
8: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALE_BUILDER:Ljava/util/Locale$Builder;
invokevirtual java.util.Locale$Builder.clear:()Ljava/util/Locale$Builder;
pop
9: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALE_BUILDER:Ljava/util/Locale$Builder;
aload 0
invokevirtual java.util.Locale$Builder.setLanguageTag:(Ljava/lang/String;)Ljava/util/Locale$Builder;
pop
10: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.LOCALE_BUILDER:Ljava/util/Locale$Builder;
invokevirtual java.util.Locale$Builder.build:()Ljava/util/Locale;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 tag Ljava/lang/String;
MethodParameters:
Name Flags
tag
private static java.util.stream.Stream<java.lang.String> localeToTags(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/stream/Stream;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
astore 1
start local 1 2: aconst_null
astore 2
start local 2 3: aload 0
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 7
3365: 4
3374: 5
3383: 6
3391: 7
3520: 8
3521: 9
3700: 10
default: 25
}
StackMap locals: java.lang.String java.util.List java.lang.String
StackMap stack:
4: aload 3
ldc "in"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 25
StackMap locals:
StackMap stack:
5: aload 3
ldc "iw"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 25
StackMap locals:
StackMap stack:
6: aload 3
ldc "ja"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 25
StackMap locals:
StackMap stack:
7: aload 3
ldc "ji"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 25
StackMap locals:
StackMap stack:
8: aload 3
ldc "nn"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 25
StackMap locals:
StackMap stack:
9: aload 3
ldc "no"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 25
StackMap locals:
StackMap stack:
10: aload 3
ldc "th"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 25
11: StackMap locals:
StackMap stack:
aload 1
aload 1
ldc "^he"
ldc "iw"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
12: goto 25
13: StackMap locals:
StackMap stack:
aload 1
aload 1
ldc "^id"
ldc "in"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
14: goto 25
15: StackMap locals:
StackMap stack:
aload 1
aload 1
ldc "^yi"
ldc "ji"
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
16: goto 25
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
ldc "JP"
if_acmpne 25
18: aload 1
ldc "ja-JP-JP"
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
19: goto 25
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
ldc "NO"
if_acmpne 25
21: aload 1
ldc "no-NO-NY"
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
22: goto 25
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
ldc "TH"
if_acmpne 25
24: aload 1
ldc "th-TH-TH"
invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
astore 2
25: StackMap locals:
StackMap stack:
aload 2
ifnonnull 26
aload 1
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
goto 27
StackMap locals:
StackMap stack:
26: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
StackMap locals:
StackMap stack: java.util.stream.Stream
27: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 loc Ljava/util/Locale;
2 28 1 tag Ljava/lang/String;
3 28 2 tags Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/Locale;)Ljava/util/stream/Stream<Ljava/lang/String;>;
MethodParameters:
Name Flags
loc
private static java.util.AbstractMap$SimpleEntry lambda$0(java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;)Ljava/util/AbstractMap$SimpleEntry;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.util.Locale
invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
astore 1
start local 1 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 2: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
4: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$1(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$2(Ljava/lang/String;)Ljava/util/stream/Stream; (6)
(Ljava/lang/String;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
6: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
7: aload 2
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/List.add(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
8: new java.util.AbstractMap$SimpleEntry
dup
aload 1
aload 2
invokespecial java.util.AbstractMap$SimpleEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 entry Ljava/util/Map$Entry<Ljava/util/Locale;[Ljava/lang/String;>;
1 9 1 parent Ljava/lang/String;
2 9 2 children Ljava/util/List<Ljava/lang/String;>;
private jdk.tools.jlink.plugin.ResourcePoolEntry lambda$7(jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.moduleName:()Ljava/lang/String;
ldc "jdk.localedata"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
1: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.predicate:Ljava/util/function/Predicate;
aload 2
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 3
aload 1
goto 4
StackMap locals: java.lang.String
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: jdk.tools.jlink.plugin.ResourcePoolEntry
4: astore 1
5: aload 1
ifnull 13
6: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.type:()Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
getstatic jdk.tools.jlink.plugin.ResourcePoolEntry$Type.CLASS_OR_RESOURCE:Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
invokevirtual jdk.tools.jlink.plugin.ResourcePoolEntry$Type.equals:(Ljava/lang/Object;)Z
ifeq 13
7: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentBytes:()[B
astore 3
start local 3 8: new jdk.internal.org.objectweb.asm.ClassReader
dup
aload 3
invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:([B)V
astore 4
start local 4 9: aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.getInterfaces:()[Ljava/lang/String;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
10: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$8(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifeq 13
11: aload 0
aload 3
aload 4
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.stripUnsupportedLocales:([BLjdk/internal/org/objectweb/asm/ClassReader;)Z
ifeq 13
12: aload 1
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.copyWithContent:([B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
astore 1
end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 14 1 resource Ljdk/tools/jlink/plugin/ResourcePoolEntry;
2 13 2 path Ljava/lang/String;
8 13 3 bytes [B
9 13 4 cr Ljdk/internal/org/objectweb/asm/ClassReader;
private static boolean lambda$9(java.util.Set, java.lang.String);
descriptor: (Ljava/util/Set;Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 pn Ljava/lang/String;
private static java.util.regex.Matcher lambda$10(java.util.regex.Pattern, jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljava/util/regex/Pattern;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljava/util/regex/Matcher;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 md Ljdk/tools/jlink/plugin/ResourcePoolEntry;
private static boolean lambda$11(java.util.regex.Matcher);
descriptor: (Ljava/util/regex/Matcher;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Matcher.matches:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/util/regex/Matcher;
private static java.lang.String lambda$12(java.util.regex.Matcher);
descriptor: (Ljava/util/regex/Matcher;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "tag"
invokevirtual java.util.regex.Matcher.group:(Ljava/lang/String;)Ljava/lang/String;
ldc "_"
ldc "-"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/util/regex/Matcher;
private java.util.stream.Stream lambda$14(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/stream/Stream;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.includeLocaleFilePatterns:(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 1 1 s Ljava/lang/String;
private static java.lang.String lambda$15(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "regex:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
private static java.lang.String lambda$16(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 s Ljava/lang/String;
private static int lambda$17(jdk.internal.org.objectweb.asm.ClassReader, int);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassReader;I)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
iload 1
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.getItem:(I)I
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 item I
private void lambda$18(byte[], jdk.internal.org.objectweb.asm.ClassReader, boolean[], int);
descriptor: ([BLjdk/internal/org/objectweb/asm/ClassReader;[ZI)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 4 0: aload 1
iload 4
iconst_1
isub
baload
iconst_1
if_icmpne 8
1: aload 1
iload 4
iconst_2
iadd
baload
bipush 32
if_icmpne 8
2: aload 2
iload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readUnsignedShort:(I)I
istore 5
start local 5 3: iload 5
newarray 8
astore 6
start local 6 4: aload 1
iload 4
iconst_2
iadd
aload 6
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 0
aload 6
invokevirtual jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.filterOutUnsupportedTags:([B)Z
ifeq 8
6: aload 6
iconst_0
aload 1
iload 4
iconst_2
iadd
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 3
iconst_0
iconst_1
bastore
end local 6 end local 5 8: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/plugins/IncludeLocalesPlugin;
0 9 4 itemIndex I
3 8 5 length I
4 8 6 b [B
private static boolean lambda$19(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 tag Ljava/lang/String;
private static java.util.stream.Stream lambda$22(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.util.ResourceBundle$Control.FORMAT_DEFAULT:Ljava/util/List;
invokestatic java.util.ResourceBundle$Control.getNoFallbackControl:(Ljava/util/List;)Ljava/util/ResourceBundle$Control;
1: ldc ""
aload 0
invokevirtual java.util.ResourceBundle$Control.getCandidateLocales:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.CLDR_ADAPTER:Lsun/util/locale/provider/ResourceBundleBasedAdapter;
ldc ""
aload 0
invokeinterface sun.util.locale.provider.ResourceBundleBasedAdapter.getCandidateLocales:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
3: invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 loc Ljava/util/Locale;
private static java.util.Optional lambda$23(java.util.List, java.util.Locale);
descriptor: (Ljava/util/List;Ljava/util/Locale;)Ljava/util/Optional;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: aload 1
invokedynamic test(Ljava/util/Locale;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$24(Ljava/util/Locale;Ljava/util/Locale;)Z (6)
(Ljava/util/Locale;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 loc Ljava/util/Locale;
private static boolean lambda$1(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 child Ljava/lang/String;
private static java.util.stream.Stream lambda$2(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jlink.internal.plugins.IncludeLocalesPlugin.CLDR_PARENT_LOCALES:Ljava/util/Map;
1: aload 0
invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
iconst_0
anewarray java.lang.String
2: invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
3: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin.lambda$3(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 0
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
5: invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
6: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 child Ljava/lang/String;
private static boolean lambda$8(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "LocaleDataMetaInfo"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i Ljava/lang/String;
private static boolean lambda$24(java.util.Locale, java.util.Locale);
descriptor: (Ljava/util/Locale;Ljava/util/Locale;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual java.util.Locale.toString:()Ljava/lang/String;
aload 0
invokevirtual java.util.Locale.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 l Ljava/util/Locale;
private static boolean lambda$3(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 grandchild Ljava/lang/String;
}
SourceFile: "IncludeLocalesPlugin.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public SimpleEntry = java.util.AbstractMap$SimpleEntry of java.util.AbstractMap
public final Builder = java.util.Locale$Builder of java.util.Locale
public final FilteringMode = java.util.Locale$FilteringMode of java.util.Locale
public final LanguageRange = java.util.Locale$LanguageRange of java.util.Locale
public abstract Entry = java.util.Map$Entry of java.util.Map
public Control = java.util.ResourceBundle$Control of java.util.ResourceBundle
public final Category = jdk.tools.jlink.plugin.Plugin$Category of jdk.tools.jlink.plugin.Plugin
public final Type = jdk.tools.jlink.plugin.ResourcePoolEntry$Type of jdk.tools.jlink.plugin.ResourcePoolEntry
public final Type = sun.util.locale.provider.LocaleProviderAdapter$Type of sun.util.locale.provider.LocaleProviderAdapter