public final class jdk.tools.jlink.internal.TaskHelper$OptionsHelper<T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.TaskHelper$OptionsHelper
super_class: java.lang.Object
{
private final java.util.List<jdk.tools.jlink.internal.TaskHelper$Option<T>> options;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;>;
private java.lang.String[] command;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String defaults;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final jdk.tools.jlink.internal.TaskHelper this$0;
descriptor: Ljdk/tools/jlink/internal/TaskHelper;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.util.List<jdk.tools.jlink.internal.TaskHelper$Option<T>>);
descriptor: (Ljdk/tools/jlink/internal/TaskHelper;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.options:Ljava/util/List;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 3 2 options Ljava/util/List<Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;>;
Signature: (Ljava/util/List<Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;>;)V
MethodParameters:
Name Flags
this$0 final
options
public boolean shouldListPlugins();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
getfield jdk.tools.jlink.internal.TaskHelper$PluginsHelper.listPlugins:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
public java.util.List<java.lang.String> handleOptions(T, java.lang.String[]);
descriptor: (Ljava/lang/Object;[Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 2
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.command:[Ljava/lang/String;
1: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
new jdk.tools.jlink.internal.TaskHelper$PluginsHelper
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
invokespecial jdk.tools.jlink.internal.TaskHelper$PluginsHelper.<init>:(Ljdk/tools/jlink/internal/TaskHelper;)V
putfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
2: iconst_0
istore 3
start local 3 3: goto 49
4: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 45
5: aload 2
iload 3
aaload
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: aload 0
aload 4
invokevirtual jdk.tools.jlink.internal.TaskHelper$OptionsHelper.getOption:(Ljava/lang/String;)Ljdk/tools/jlink/internal/TaskHelper$Option;
astore 6
start local 6 8: aload 6
ifnonnull 14
9: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
aload 4
invokevirtual jdk.tools.jlink.internal.TaskHelper$PluginsHelper.getOption:(Ljava/lang/String;)Ljdk/tools/jlink/internal/TaskHelper$PluginOption;
astore 5
10: aload 5
ifnonnull 14
11: new jdk.tools.jlink.internal.TaskHelper$BadArgs
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
ldc "err.unknown.option"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokespecial jdk.tools.jlink.internal.TaskHelper$BadArgs.<init>:(Ljdk/tools/jlink/internal/TaskHelper;Ljava/lang/String;[Ljava/lang/Object;)V
12: iconst_1
invokevirtual jdk.tools.jlink.internal.TaskHelper$BadArgs.showUsage:(Z)Ljdk/tools/jlink/internal/TaskHelper$BadArgs;
13: athrow
14: StackMap locals: java.lang.String jdk.tools.jlink.internal.TaskHelper$PluginOption jdk.tools.jlink.internal.TaskHelper$Option
StackMap stack:
aload 5
ifnonnull 15
aload 6
goto 16
StackMap locals:
StackMap stack:
15: aload 5
StackMap locals:
StackMap stack: jdk.tools.jlink.internal.TaskHelper$Option
16: astore 7
start local 7 17: aconst_null
astore 8
start local 8 18: aload 7
getfield jdk.tools.jlink.internal.TaskHelper$Option.hasArg:Z
ifeq 32
19: aload 4
ldc "--"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 24
aload 4
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
ifle 24
20: aload 4
aload 4
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
21: aload 4
invokevirtual java.lang.String.length:()I
22: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
23: goto 26
StackMap locals: jdk.tools.jlink.internal.TaskHelper$Option java.lang.String
StackMap stack:
24: iload 3
iconst_1
iadd
aload 2
arraylength
if_icmpge 26
25: aload 2
iinc 3 1
iload 3
aaload
astore 8
26: StackMap locals:
StackMap stack:
aload 8
ifnull 29
aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifne 29
27: aload 8
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 32
aload 8
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 32
28: aload 8
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 32
29: StackMap locals:
StackMap stack:
new jdk.tools.jlink.internal.TaskHelper$BadArgs
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
ldc "err.missing.arg"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokespecial jdk.tools.jlink.internal.TaskHelper$BadArgs.<init>:(Ljdk/tools/jlink/internal/TaskHelper;Ljava/lang/String;[Ljava/lang/Object;)V
30: iconst_1
invokevirtual jdk.tools.jlink.internal.TaskHelper$BadArgs.showUsage:(Z)Ljdk/tools/jlink/internal/TaskHelper$BadArgs;
31: athrow
32: StackMap locals:
StackMap stack:
aload 5
ifnull 35
33: aload 5
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
aload 4
aload 8
invokevirtual jdk.tools.jlink.internal.TaskHelper$PluginOption.process:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
34: goto 42
35: StackMap locals:
StackMap stack:
aload 6
aload 1
aload 4
aload 8
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.process:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
36: aload 6
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.isTerminal:()Z
ifeq 42
37: iinc 3 1
iload 3
aload 2
arraylength
if_icmpge 40
38: aload 2
iload 3
aload 2
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
39: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
goto 41
40: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
41: StackMap locals:
StackMap stack: java.util.List
areturn
42: StackMap locals:
StackMap stack:
aload 7
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.ignoreRest:()Z
ifeq 48
43: aload 2
arraylength
istore 3
end local 8 end local 7 end local 6 end local 5 end local 4 44: goto 48
45: StackMap locals: jdk.tools.jlink.internal.TaskHelper$OptionsHelper java.lang.Object java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 2
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
46: invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
47: areturn
48: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
49: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 50: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 51 1 task TT;
0 51 2 args [Ljava/lang/String;
3 50 3 i I
6 44 4 name Ljava/lang/String;
7 44 5 pluginOption Ljdk/tools/jlink/internal/TaskHelper$PluginOption;
8 44 6 option Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;
17 44 7 opt Ljdk/tools/jlink/internal/TaskHelper$Option<*>;
18 44 8 param Ljava/lang/String;
Exceptions:
throws jdk.tools.jlink.internal.TaskHelper$BadArgs
Signature: (TT;[Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
task
args
private jdk.tools.jlink.internal.TaskHelper$Option<T> getOption(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/tools/jlink/internal/TaskHelper$Option;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.options:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: jdk.tools.jlink.internal.TaskHelper$OptionsHelper java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.TaskHelper$Option
astore 2
start local 2 2: aload 2
aload 1
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.matches:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 6 1 name Ljava/lang/String;
2 4 2 o Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;
Signature: (Ljava/lang/String;)Ljdk/tools/jlink/internal/TaskHelper$Option<TT;>;
MethodParameters:
Name Flags
name
public void showHelp(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.usage"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.options:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
getfield jdk.tools.jlink.internal.TaskHelper$PluginsHelper.mainOptions:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/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/TaskHelper$OptionsHelper.lambda$0(Ljdk/tools/jlink/internal/TaskHelper$Option;)Z (6)
(Ljdk/tools/jlink/internal/TaskHelper$Option;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
4: aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper;)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
jdk/tools/jlink/internal/TaskHelper$OptionsHelper.lambda$1(Ljdk/tools/jlink/internal/TaskHelper$Option;)V (7)
(Ljdk/tools/jlink/internal/TaskHelper$Option;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
5: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.command.files"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 7 1 progName Ljava/lang/String;
MethodParameters:
Name Flags
progName
public void listPlugins();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.extended.help"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
getfield jdk.tools.jlink.internal.TaskHelper$PluginsHelper.pluginsLayer:Ljava/lang/ModuleLayer;
invokestatic jdk.tools.jlink.internal.PluginRepository.getPlugins:(Ljava/lang/ModuleLayer;)Ljava/util/List;
2: astore 1
start local 1 3: aload 1
invokeinterface java.util.List.stream:()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/TaskHelper$OptionsHelper.lambda$2(Ljdk/tools/jlink/plugin/Plugin;)Ljava/lang/Boolean; (6)
(Ljdk/tools/jlink/plugin/Plugin;)Ljava/lang/Boolean;
5: invokedynamic compare()Ljava/util/Comparator;
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;)I
jdk/tools/jlink/internal/TaskHelper$OptionsHelper.lambda$3(Ljava/lang/Boolean;Ljava/lang/Boolean;)I (6)
(Ljava/lang/Boolean;Ljava/lang/Boolean;)I
6: invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
7: 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/plugin/Plugin.getName()Ljava/lang/String; (9 itf)
(Ljdk/tools/jlink/plugin/Plugin;)Ljava/lang/String;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
8: invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
9: aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper;)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
jdk/tools/jlink/internal/TaskHelper$OptionsHelper.lambda$5(Ljdk/tools/jlink/plugin/Plugin;)V (7)
(Ljdk/tools/jlink/plugin/Plugin;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
10: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.extended.help.footer"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
3 12 1 pluginList Ljava/util/List<Ljdk/tools/jlink/plugin/Plugin;>;
private void showPlugin(jdk.tools.jlink.plugin.Plugin, java.io.PrintWriter);
descriptor: (Ljdk/tools/jlink/plugin/Plugin;Ljava/io/PrintWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.tools.jlink.internal.TaskHelper.showsPlugin:(Ljdk/tools/jlink/plugin/Plugin;)Z
ifeq 32
1: aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getUsage:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 4
2: aload 2
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getUsage:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: goto 32
4: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.name"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
invokestatic jdk.tools.jlink.internal.Utils.isBuiltin:(Ljdk/tools/jlink/plugin/Plugin;)Z
ifne 21
8: aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.class"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
9: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.module"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
12: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getType:()Ljdk/tools/jlink/plugin/Plugin$Category;
astore 3
start local 3 15: aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.category"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
16: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual jdk.tools.jlink.plugin.Plugin$Category.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.state"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
19: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getStateDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 3 21: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getOption:()Ljava/lang/String;
astore 3
start local 3 22: aload 3
ifnull 29
23: aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.option"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
24: ldc ": --"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getOption:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.hasArguments:()Z
ifeq 26
new java.lang.StringBuilder
dup
ldc "="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getArgumentsDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 27
StackMap locals: jdk.tools.jlink.internal.TaskHelper$OptionsHelper jdk.tools.jlink.plugin.Plugin java.io.PrintWriter java.lang.String
StackMap stack: java.io.PrintWriter java.lang.StringBuilder
26: ldc ""
StackMap locals: jdk.tools.jlink.internal.TaskHelper$OptionsHelper jdk.tools.jlink.plugin.Plugin java.io.PrintWriter java.lang.String
StackMap stack: java.io.PrintWriter java.lang.StringBuilder java.lang.String
27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
ldc "main.plugin.description"
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.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
30: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jdk.tools.jlink.plugin.Plugin.getDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 3 32: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 33 1 plugin Ljdk/tools/jlink/plugin/Plugin;
0 33 2 log Ljava/io/PrintWriter;
15 21 3 category Ljdk/tools/jlink/plugin/Plugin$Category;
22 32 3 option Ljava/lang/String;
MethodParameters:
Name Flags
plugin
log
java.lang.String[] getInputCommand();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.command:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
java.lang.String getDefaults();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.defaults:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
public java.lang.ModuleLayer getPluginsLayer();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.pluginOptions:Ljdk/tools/jlink/internal/TaskHelper$PluginsHelper;
getfield jdk.tools.jlink.internal.TaskHelper$PluginsHelper.pluginsLayer:Ljava/lang/ModuleLayer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
private static boolean lambda$0(jdk.tools.jlink.internal.TaskHelper$Option);
descriptor: (Ljdk/tools/jlink/internal/TaskHelper$Option;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.isHidden:()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 option Ljdk/tools/jlink/internal/TaskHelper$Option<+Ljava/lang/Object;>;
private void lambda$1(jdk.tools.jlink.internal.TaskHelper$Option);
descriptor: (Ljdk/tools/jlink/internal/TaskHelper$Option;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.bundleHelper:Ljdk/tools/jlink/internal/TaskHelper$ResourceBundleHelper;
aload 1
invokevirtual jdk.tools.jlink.internal.TaskHelper$Option.resourceName:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 2 1 option Ljdk/tools/jlink/internal/TaskHelper$Option<+Ljava/lang/Object;>;
private static java.lang.Boolean lambda$2(jdk.tools.jlink.plugin.Plugin);
descriptor: (Ljdk/tools/jlink/plugin/Plugin;)Ljava/lang/Boolean;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.tools.jlink.plugin.Plugin.getUsage:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 plugin Ljdk/tools/jlink/plugin/Plugin;
private static int lambda$3(java.lang.Boolean, java.lang.Boolean);
descriptor: (Ljava/lang/Boolean;Ljava/lang/Boolean;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic java.lang.Boolean.compare:(ZZ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 res1 Ljava/lang/Boolean;
0 1 1 res2 Ljava/lang/Boolean;
private void lambda$5(jdk.tools.jlink.plugin.Plugin);
descriptor: (Ljdk/tools/jlink/plugin/Plugin;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield jdk.tools.jlink.internal.TaskHelper$OptionsHelper.this$0:Ljdk/tools/jlink/internal/TaskHelper;
getfield jdk.tools.jlink.internal.TaskHelper.log:Ljava/io/PrintWriter;
invokevirtual jdk.tools.jlink.internal.TaskHelper$OptionsHelper.showPlugin:(Ljdk/tools/jlink/plugin/Plugin;Ljava/io/PrintWriter;)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/TaskHelper$OptionsHelper<TT;>;
0 1 1 plugin Ljdk/tools/jlink/plugin/Plugin;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "TaskHelper.java"
NestHost: jdk.tools.jlink.internal.TaskHelper
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final BadArgs = jdk.tools.jlink.internal.TaskHelper$BadArgs of jdk.tools.jlink.internal.TaskHelper
public Option = jdk.tools.jlink.internal.TaskHelper$Option of jdk.tools.jlink.internal.TaskHelper
public final OptionsHelper = jdk.tools.jlink.internal.TaskHelper$OptionsHelper of jdk.tools.jlink.internal.TaskHelper
private PluginOption = jdk.tools.jlink.internal.TaskHelper$PluginOption of jdk.tools.jlink.internal.TaskHelper
private final PluginsHelper = jdk.tools.jlink.internal.TaskHelper$PluginsHelper of jdk.tools.jlink.internal.TaskHelper
private final ResourceBundleHelper = jdk.tools.jlink.internal.TaskHelper$ResourceBundleHelper of jdk.tools.jlink.internal.TaskHelper
public final Category = jdk.tools.jlink.plugin.Plugin$Category of jdk.tools.jlink.plugin.Plugin