final class com.oracle.svm.driver.MacroOption$Registry
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.driver.MacroOption$Registry
super_class: java.lang.Object
{
private final java.util.Map<com.oracle.svm.driver.MacroOption$MacroOptionKind, java.util.Map<java.lang.String, com.oracle.svm.driver.MacroOption>> supported;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;>;>;
private final java.util.LinkedHashSet<com.oracle.svm.driver.MacroOption$EnabledOption> enabled;
descriptor: Ljava/util/LinkedHashSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedHashSet<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
private static java.util.Map<com.oracle.svm.driver.MacroOption$MacroOptionKind, java.util.Map<java.lang.String, com.oracle.svm.driver.MacroOption>> collectMacroOptions(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: invokestatic com.oracle.svm.driver.MacroOption$MacroOptionKind.values:()[Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 13
StackMap locals: java.nio.file.Path java.util.Map top int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 0
aload 2
getfield com.oracle.svm.driver.MacroOption$MacroOptionKind.subdir:Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 4: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
astore 7
start local 7 5: aload 6
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 11
6: aload 6
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
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
com/oracle/svm/driver/MacroOption$Registry.lambda$10(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
7: 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
com/oracle/svm/driver/MacroOption$Registry.lambda$1(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
8: 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;
com/oracle/svm/driver/MacroOption.access$0(Ljava/nio/file/Path;)Lcom/oracle/svm/driver/MacroOption; (6)
(Ljava/nio/file/Path;)Lcom/oracle/svm/driver/MacroOption;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
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
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Lcom/oracle/svm/driver/MacroOption;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
9: 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;
com/oracle/svm/driver/MacroOption.getOptionName()Ljava/lang/String; (5)
(Lcom/oracle/svm/driver/MacroOption;)Ljava/lang/String;
invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
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
10: astore 7
11: StackMap locals: java.nio.file.Path java.util.Map com.oracle.svm.driver.MacroOption$MacroOptionKind int int com.oracle.svm.driver.MacroOption$MacroOptionKind[] java.nio.file.Path java.util.Map
StackMap stack:
aload 1
aload 2
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 2 12: iinc 3 1
StackMap locals: java.nio.file.Path java.util.Map top int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
13: iload 3
iload 4
if_icmplt 2
14: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 rootDir Ljava/nio/file/Path;
1 15 1 result Ljava/util/Map<Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;>;>;
3 12 2 kind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
4 12 6 optionsDir Ljava/nio/file/Path;
5 12 7 collectedOptions Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;)Ljava/util/Map<Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;>;>;
MethodParameters:
Name Flags
rootDir
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
2: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
3: invokestatic com.oracle.svm.driver.MacroOption$MacroOptionKind.values:()[Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 7
StackMap locals: com.oracle.svm.driver.MacroOption$Registry top int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
4: aload 4
iload 2
aaload
astore 1
start local 1 5: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
aload 1
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
5 6 1 kind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
void addMacroOptionRoot(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.svm.driver.MacroOption$Registry.collectMacroOptions:(Ljava/nio/file/Path;)Ljava/util/Map;
aload 0
invokedynamic accept(Lcom/oracle/svm/driver/MacroOption$Registry;)Ljava/util/function/BiConsumer;
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;)V
com/oracle/svm/driver/MacroOption$Registry.lambda$5(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map;)V (7)
(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: new com.oracle.svm.driver.MacroOption$InvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Error while discovering supported MacroOptions in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.svm.driver.MacroOption$InvalidMacroException.<init>:(Ljava/lang/String;)V
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 5 1 rootDir Ljava/nio/file/Path;
3 4 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
rootDir
java.util.Set<java.lang.String> getAvailableOptions(com.oracle.svm.driver.MacroOption$MacroOptionKind);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/Set;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 1 1 forKind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
Signature: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
forKind
void showOptions(com.oracle.svm.driver.MacroOption$MacroOptionKind, boolean, java.util.function.Consumer<java.lang.String>);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;ZLjava/util/function/Consumer;)V
flags: (0x0000)
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: invokestatic com.oracle.svm.driver.MacroOption$MacroOptionKind.values:()[Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List top int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 1
ifnull 5
aload 5
aload 1
invokevirtual com.oracle.svm.driver.MacroOption$MacroOptionKind.equals:(Ljava/lang/Object;)Z
ifne 5
4: goto 15
5: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List com.oracle.svm.driver.MacroOption$MacroOptionKind int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
aload 1
ifnonnull 7
aload 5
getstatic com.oracle.svm.driver.MacroOption$MacroOptionKind.Macro:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
if_acmpne 7
6: goto 15
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 14
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List com.oracle.svm.driver.MacroOption$MacroOptionKind int int com.oracle.svm.driver.MacroOption$MacroOptionKind[] top java.util.Iterator
StackMap stack:
8: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.driver.MacroOption
astore 9
start local 9 9: aload 9
getfield com.oracle.svm.driver.MacroOption.kind:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
getfield com.oracle.svm.driver.MacroOption$MacroOptionKind.subdir:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 14
10: ldc " "
astore 11
start local 11 11: iload 2
ifeq 13
12: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "--"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
13: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List com.oracle.svm.driver.MacroOption$MacroOptionKind int int com.oracle.svm.driver.MacroOption$MacroOptionKind[] com.oracle.svm.driver.MacroOption java.util.Iterator java.lang.String
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 14: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List com.oracle.svm.driver.MacroOption$MacroOptionKind int int com.oracle.svm.driver.MacroOption$MacroOptionKind[] top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 5 15: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List top int int com.oracle.svm.driver.MacroOption$MacroOptionKind[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 2
17: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 25
18: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
ldc "Available "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 5
start local 5 19: aload 1
ifnull 22
20: aload 5
aload 1
invokevirtual com.oracle.svm.driver.MacroOption$MacroOptionKind.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: goto 23
22: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.MacroOption$MacroOptionKind int java.util.function.Consumer java.util.List java.lang.StringBuilder
StackMap stack:
aload 5
ldc "macro-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 3
aload 5
ldc "options are:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
24: aload 4
aload 3
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
end local 5 25: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 26 1 forKind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
0 26 2 commandLineStyle Z
0 26 3 lineOut Ljava/util/function/Consumer<Ljava/lang/String;>;
1 26 4 optionsToShow Ljava/util/List<Ljava/lang/String;>;
3 15 5 kind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
9 14 9 option Lcom/oracle/svm/driver/MacroOption;
11 14 11 linePrefix Ljava/lang/String;
19 25 5 sb Ljava/lang/StringBuilder;
Signature: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;ZLjava/util/function/Consumer<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
forKind
commandLineStyle
lineOut
com.oracle.svm.driver.MacroOption getMacroOption(com.oracle.svm.driver.MacroOption$MacroOptionKind, java.lang.String);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/lang/String;)Lcom/oracle/svm/driver/MacroOption;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.driver.MacroOption
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 1 1 kindPart Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
0 1 2 optionName Ljava/lang/String;
MethodParameters:
Name Flags
kindPart
optionName
boolean enableOption(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String, java.util.HashSet<com.oracle.svm.driver.MacroOption>, com.oracle.svm.driver.MacroOption, java.util.function.Consumer<com.oracle.svm.driver.MacroOption$EnabledOption>);
descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)Z
flags: (0x0000)
Code:
stack=7, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnonnull 5
1: aload 2
ldc "--"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
2: aload 2
ldc "--"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 3: goto 6
end local 6 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 2
astore 6
start local 6 6: StackMap locals: java.lang.String
StackMap stack:
aload 6
ldc ":"
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 7
start local 7 7: aload 7
arraylength
iconst_2
if_icmpeq 11
8: aload 4
ifnonnull 10
9: iconst_0
ireturn
10: StackMap locals: java.lang.String[]
StackMap stack:
new com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Invalid option specification: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException.<init>:(Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;)V
athrow
11: StackMap locals:
StackMap stack:
aload 7
iconst_0
aaload
invokestatic com.oracle.svm.driver.MacroOption$MacroOptionKind.fromString:(Ljava/lang/String;)Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
astore 8
start local 8 12: goto 17
end local 8 StackMap locals:
StackMap stack: java.lang.Exception
13: pop
14: aload 4
ifnonnull 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
new com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Unknown kind in option specification: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException.<init>:(Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;)V
athrow
start local 8 17: StackMap locals: com.oracle.svm.driver.MacroOption$MacroOptionKind
StackMap stack:
aload 7
iconst_1
aaload
astore 9
start local 9 18: aload 9
invokevirtual java.lang.String.isEmpty:()Z
ifeq 20
19: new com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Empty option specification: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
aload 4
invokespecial com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException.<init>:(Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Lcom/oracle/svm/driver/MacroOption;)V
athrow
20: StackMap locals: java.lang.String
StackMap stack:
aload 9
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
21: aload 8
getfield com.oracle.svm.driver.MacroOption$MacroOptionKind.allowAll:Z
ifne 23
22: new com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Empty option specification: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does no support 'all'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
aload 4
invokespecial com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException.<init>:(Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Lcom/oracle/svm/driver/MacroOption;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual com.oracle.svm.driver.MacroOption$Registry.getAvailableOptions:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 29
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer java.lang.String java.lang.String[] com.oracle.svm.driver.MacroOption$MacroOptionKind java.lang.String top java.util.Iterator
StackMap stack:
24: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 25: aload 0
aload 8
aload 10
invokevirtual com.oracle.svm.driver.MacroOption$Registry.getMacroOption:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/lang/String;)Lcom/oracle/svm/driver/MacroOption;
astore 12
start local 12 26: aload 12
getfield com.oracle.svm.driver.MacroOption.properties:Ljava/util/Map;
ldc "ExcludeFromAll"
ldc "false"
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 28
27: goto 29
28: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer java.lang.String java.lang.String[] com.oracle.svm.driver.MacroOption$MacroOptionKind java.lang.String java.lang.String java.util.Iterator com.oracle.svm.driver.MacroOption
StackMap stack:
aload 0
aload 1
aload 12
aconst_null
aload 3
aload 4
aload 5
invokevirtual com.oracle.svm.driver.MacroOption$Registry.enableResolved:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)V
end local 12 end local 10 29: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer java.lang.String java.lang.String[] com.oracle.svm.driver.MacroOption$MacroOptionKind java.lang.String top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
30: iconst_1
ireturn
31: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer java.lang.String java.lang.String[] com.oracle.svm.driver.MacroOption$MacroOptionKind java.lang.String
StackMap stack:
aload 9
ldc "="
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 10
start local 10 32: aload 10
iconst_0
aaload
astore 11
start local 11 33: aload 0
aload 8
aload 11
invokevirtual com.oracle.svm.driver.MacroOption$Registry.getMacroOption:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/lang/String;)Lcom/oracle/svm/driver/MacroOption;
astore 12
start local 12 34: aload 12
ifnull 40
35: aload 10
arraylength
iconst_2
if_icmpne 36
aload 10
iconst_1
aaload
goto 37
StackMap locals: java.lang.String[] java.lang.String com.oracle.svm.driver.MacroOption
StackMap stack:
36: aconst_null
StackMap locals:
StackMap stack: java.lang.String
37: astore 13
start local 13 38: aload 0
aload 1
aload 12
aload 13
aload 3
aload 4
aload 5
invokevirtual com.oracle.svm.driver.MacroOption$Registry.enableResolved:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)V
end local 13 39: goto 41
40: StackMap locals:
StackMap stack:
new com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException
dup
new java.lang.StringBuilder
dup
ldc "Unknown name in option specification: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
aload 4
invokespecial com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException.<init>:(Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Lcom/oracle/svm/driver/MacroOption;)V
athrow
41: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 42 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 42 1 config Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
0 42 2 optionString Ljava/lang/String;
0 42 3 addedCheck Ljava/util/HashSet<Lcom/oracle/svm/driver/MacroOption;>;
0 42 4 context Lcom/oracle/svm/driver/MacroOption;
0 42 5 enabler Ljava/util/function/Consumer<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
3 4 6 specString Ljava/lang/String;
6 42 6 specString Ljava/lang/String;
7 42 7 specParts [Ljava/lang/String;
12 13 8 kindPart Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
17 42 8 kindPart Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
18 42 9 specNameParts Ljava/lang/String;
25 29 10 optionName Ljava/lang/String;
26 29 12 option Lcom/oracle/svm/driver/MacroOption;
32 42 10 parts [Ljava/lang/String;
33 42 11 optionName Ljava/lang/String;
34 42 12 option Lcom/oracle/svm/driver/MacroOption;
38 39 13 optionArg Ljava/lang/String;
Exception table:
from to target type
11 12 13 Class java.lang.Exception
Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/HashSet<Lcom/oracle/svm/driver/MacroOption;>;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;)Z
MethodParameters:
Name Flags
config
optionString
addedCheck
context
enabler
private void enableResolved(com.oracle.svm.driver.NativeImage$BuildConfiguration, com.oracle.svm.driver.MacroOption, java.lang.String, java.util.HashSet<com.oracle.svm.driver.MacroOption>, com.oracle.svm.driver.MacroOption, java.util.function.Consumer<com.oracle.svm.driver.MacroOption$EnabledOption>);
descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
aload 2
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 4
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
3: new com.oracle.svm.driver.MacroOption$EnabledOption
dup
aload 2
aload 3
aload 5
ifnonnull 4
iconst_1
goto 5
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration com.oracle.svm.driver.MacroOption java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer
StackMap stack: new 3 new 3 com.oracle.svm.driver.MacroOption java.lang.String
4: iconst_0
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration com.oracle.svm.driver.MacroOption java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer
StackMap stack: new 3 new 3 com.oracle.svm.driver.MacroOption java.lang.String int
5: invokespecial com.oracle.svm.driver.MacroOption$EnabledOption.<init>:(Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Z)V
astore 7
start local 7 6: aload 7
aload 1
ldc "Requires"
ldc ""
invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.getProperty:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 7: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifne 13
8: aload 8
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 12
StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration com.oracle.svm.driver.MacroOption java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer com.oracle.svm.driver.MacroOption$EnabledOption java.lang.String top int int java.lang.String[]
StackMap stack:
9: aload 12
iload 10
aaload
astore 9
start local 9 10: aload 0
aload 1
aload 9
aload 4
aload 2
aload 6
invokevirtual com.oracle.svm.driver.MacroOption$Registry.enableOption:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)Z
pop
end local 9 11: iinc 10 1
StackMap locals:
StackMap stack:
12: iload 10
iload 11
if_icmplt 9
13: StackMap locals: com.oracle.svm.driver.MacroOption$Registry com.oracle.svm.driver.NativeImage$BuildConfiguration com.oracle.svm.driver.MacroOption java.lang.String java.util.HashSet com.oracle.svm.driver.MacroOption java.util.function.Consumer com.oracle.svm.driver.MacroOption$EnabledOption java.lang.String
StackMap stack:
aload 0
getstatic com.oracle.svm.driver.MacroOption$MacroOptionKind.Macro:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
ldc "truffle"
invokevirtual com.oracle.svm.driver.MacroOption$Registry.getMacroOption:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/lang/String;)Lcom/oracle/svm/driver/MacroOption;
astore 9
start local 9 14: aload 2
getfield com.oracle.svm.driver.MacroOption.kind:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
getstatic com.oracle.svm.driver.MacroOption$MacroOptionKind.Language:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
invokevirtual com.oracle.svm.driver.MacroOption$MacroOptionKind.equals:(Ljava/lang/Object;)Z
ifeq 16
aload 4
aload 9
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 16
15: aload 0
aload 1
aload 9
aconst_null
aload 4
aload 2
aload 6
invokevirtual com.oracle.svm.driver.MacroOption$Registry.enableResolved:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Ljava/util/HashSet;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer;)V
16: StackMap locals: com.oracle.svm.driver.MacroOption
StackMap stack:
aload 6
aload 7
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
17: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
aload 7
invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
pop
18: return
end local 9 end local 8 end local 7 end local 6 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 19 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 19 1 config Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
0 19 2 option Lcom/oracle/svm/driver/MacroOption;
0 19 3 optionArg Ljava/lang/String;
0 19 4 addedCheck Ljava/util/HashSet<Lcom/oracle/svm/driver/MacroOption;>;
0 19 5 context Lcom/oracle/svm/driver/MacroOption;
0 19 6 enabler Ljava/util/function/Consumer<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
6 19 7 enabledOption Lcom/oracle/svm/driver/MacroOption$EnabledOption;
7 19 8 requires Ljava/lang/String;
10 11 9 specString Ljava/lang/String;
14 19 9 truffleOption Lcom/oracle/svm/driver/MacroOption;
Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Ljava/util/HashSet<Lcom/oracle/svm/driver/MacroOption;>;Lcom/oracle/svm/driver/MacroOption;Ljava/util/function/Consumer<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;)V
MethodParameters:
Name Flags
config
option
optionArg
addedCheck
context
enabler
java.util.LinkedHashSet<com.oracle.svm.driver.MacroOption$EnabledOption> getEnabledOptions(com.oracle.svm.driver.MacroOption$MacroOptionKind);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/LinkedHashSet;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
aload 1
invokedynamic test(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)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
com/oracle/svm/driver/MacroOption$Registry.lambda$6(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z (6)
(Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokedynamic get()Ljava/util/function/Supplier;
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;
java/util/LinkedHashSet.<init>()V (8)
()Ljava/util/LinkedHashSet;
invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.LinkedHashSet
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 1 1 kind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
Signature: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/LinkedHashSet<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
MethodParameters:
Name Flags
kind
java.util.stream.Stream<com.oracle.svm.driver.MacroOption$EnabledOption> getEnabledOptionsStream(com.oracle.svm.driver.MacroOption$MacroOptionKind, com.oracle.svm.driver.MacroOption$MacroOptionKind[]);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;[Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/stream/Stream;
flags: (0x0080) ACC_VARARGS
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
astore 3
start local 3 1: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
aload 3
invokedynamic test(Ljava/util/EnumSet;)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
com/oracle/svm/driver/MacroOption$Registry.lambda$8(Ljava/util/EnumSet;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z (6)
(Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 2 1 kind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
0 2 2 otherKinds [Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
1 2 3 kindSet Ljava/util/EnumSet<Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;>;
Signature: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;[Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/stream/Stream<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
MethodParameters:
Name Flags
kind
otherKinds
java.util.LinkedHashSet<com.oracle.svm.driver.MacroOption$EnabledOption> getEnabledOptions();
descriptor: ()Ljava/util/LinkedHashSet;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
Signature: ()Ljava/util/LinkedHashSet<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
com.oracle.svm.driver.MacroOption$EnabledOption getEnabledOption(com.oracle.svm.driver.MacroOption);
descriptor: (Lcom/oracle/svm/driver/MacroOption;)Lcom/oracle/svm/driver/MacroOption$EnabledOption;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.enabled:Ljava/util/LinkedHashSet;
invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
aload 1
invokedynamic test(Lcom/oracle/svm/driver/MacroOption;)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
com/oracle/svm/driver/MacroOption$Registry.lambda$9(Lcom/oracle/svm/driver/MacroOption;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z (6)
(Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.svm.driver.MacroOption$EnabledOption
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 1 1 option Lcom/oracle/svm/driver/MacroOption;
MethodParameters:
Name Flags
option
private static boolean lambda$10(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
private static boolean lambda$1(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "native-image.properties"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 optionDir Ljava/nio/file/Path;
private void lambda$5(com.oracle.svm.driver.MacroOption$MacroOptionKind, java.util.Map);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Ljava/util/Map;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.svm.driver.MacroOption$Registry.supported:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
aload 2
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/driver/MacroOption$Registry;
0 2 1 optionKind Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
0 2 2 optionMap Ljava/util/Map<Ljava/lang/String;Lcom/oracle/svm/driver/MacroOption;>;
private static boolean lambda$6(com.oracle.svm.driver.MacroOption$MacroOptionKind, com.oracle.svm.driver.MacroOption$EnabledOption);
descriptor: (Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)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
getfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
getfield com.oracle.svm.driver.MacroOption.kind:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
invokevirtual com.oracle.svm.driver.MacroOption$MacroOptionKind.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 eo Lcom/oracle/svm/driver/MacroOption$EnabledOption;
private static boolean lambda$8(java.util.EnumSet, com.oracle.svm.driver.MacroOption$EnabledOption);
descriptor: (Ljava/util/EnumSet;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)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
getfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
getfield com.oracle.svm.driver.MacroOption.kind:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 eo Lcom/oracle/svm/driver/MacroOption$EnabledOption;
private static boolean lambda$9(com.oracle.svm.driver.MacroOption, com.oracle.svm.driver.MacroOption$EnabledOption);
descriptor: (Lcom/oracle/svm/driver/MacroOption;Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.getOption:()Lcom/oracle/svm/driver/MacroOption;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 eo Lcom/oracle/svm/driver/MacroOption$EnabledOption;
}
SourceFile: "MacroOption.java"
NestHost: com.oracle.svm.driver.MacroOption
InnerClasses:
final EnabledOption = com.oracle.svm.driver.MacroOption$EnabledOption of com.oracle.svm.driver.MacroOption
final InvalidMacroException = com.oracle.svm.driver.MacroOption$InvalidMacroException of com.oracle.svm.driver.MacroOption
final MacroOptionKind = com.oracle.svm.driver.MacroOption$MacroOptionKind of com.oracle.svm.driver.MacroOption
final Registry = com.oracle.svm.driver.MacroOption$Registry of com.oracle.svm.driver.MacroOption
final VerboseInvalidMacroException = com.oracle.svm.driver.MacroOption$VerboseInvalidMacroException of com.oracle.svm.driver.MacroOption
public abstract BuildConfiguration = com.oracle.svm.driver.NativeImage$BuildConfiguration of com.oracle.svm.driver.NativeImage
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles