final class jdk.tools.jaotc.Options
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jaotc.Options
super_class: java.lang.Object
{
java.util.List<jdk.tools.jaotc.collect.SearchFor> files;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljdk/tools/jaotc/collect/SearchFor;>;
java.lang.String osName;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String outputName;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String methodList;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.List<jdk.tools.jaotc.collect.ClassSource> sources;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljdk/tools/jaotc/collect/ClassSource;>;
java.lang.String linkerpath;
descriptor: Ljava/lang/String;
flags: (0x0000)
jdk.tools.jaotc.collect.SearchPath searchPath;
descriptor: Ljdk/tools/jaotc/collect/SearchPath;
flags: (0x0000)
private static final int COMPILER_THREADS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
int threads;
descriptor: I
flags: (0x0000)
boolean ignoreClassLoadingErrors;
descriptor: Z
flags: (0x0000)
boolean exitOnError;
descriptor: Z
flags: (0x0000)
boolean info;
descriptor: Z
flags: (0x0000)
boolean verbose;
descriptor: Z
flags: (0x0000)
boolean debug;
descriptor: Z
flags: (0x0000)
boolean help;
descriptor: Z
flags: (0x0000)
boolean version;
descriptor: Z
flags: (0x0000)
boolean compileWithAssertions;
descriptor: Z
flags: (0x0000)
boolean tiered;
descriptor: Z
flags: (0x0000)
static jdk.tools.jaotc.Options$Option[] recognizedOptions;
descriptor: [Ljdk/tools/jaotc/Options$Option;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=11, locals=0, args_size=0
0: bipush 19
anewarray jdk.tools.jaotc.Options$Option
dup
iconst_0
new jdk.tools.jaotc.Options$1
dup
ldc " --output <file> Output file name"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--output"
aastore
invokespecial jdk.tools.jaotc.Options$1.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
iconst_1
1: new jdk.tools.jaotc.Options$2
dup
ldc " --class-name <class names> List of classes to compile"
iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "--class-name"
aastore
dup
iconst_1
ldc "--classname"
aastore
invokespecial jdk.tools.jaotc.Options$2.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
iconst_2
2: new jdk.tools.jaotc.Options$3
dup
ldc " --jar <jarfiles> List of jar files to compile"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--jar"
aastore
invokespecial jdk.tools.jaotc.Options$3.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
iconst_3
3: new jdk.tools.jaotc.Options$4
dup
ldc " --module <modules> List of modules to compile"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--module"
aastore
invokespecial jdk.tools.jaotc.Options$4.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
iconst_4
4: new jdk.tools.jaotc.Options$5
dup
ldc " --directory <dirs> List of directories where to search for files to compile"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--directory"
aastore
invokespecial jdk.tools.jaotc.Options$5.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
iconst_5
5: new jdk.tools.jaotc.Options$6
dup
ldc " --search-path <dirs> List of directories where to search for specified files"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--search-path"
aastore
invokespecial jdk.tools.jaotc.Options$6.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 6
6: new jdk.tools.jaotc.Options$7
dup
ldc " --compile-commands <file> Name of file with compile commands"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--compile-commands"
aastore
invokespecial jdk.tools.jaotc.Options$7.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 7
7: new jdk.tools.jaotc.Options$8
dup
ldc " --compile-for-tiered Generate profiling code for tiered compilation"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--compile-for-tiered"
aastore
invokespecial jdk.tools.jaotc.Options$8.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 8
8: new jdk.tools.jaotc.Options$9
dup
ldc " --compile-with-assertions Compile with java assertions"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--compile-with-assertions"
aastore
invokespecial jdk.tools.jaotc.Options$9.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 9
9: new jdk.tools.jaotc.Options$10
dup
ldc " --compile-threads <number> Number of compilation threads to be used"
iconst_1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "--compile-threads"
aastore
dup
iconst_1
ldc "--threads"
aastore
invokespecial jdk.tools.jaotc.Options$10.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 10
10: new jdk.tools.jaotc.Options$11
dup
ldc " --ignore-errors Ignores all exceptions thrown during class loading"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--ignore-errors"
aastore
invokespecial jdk.tools.jaotc.Options$11.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 11
11: new jdk.tools.jaotc.Options$12
dup
ldc " --exit-on-error Exit on compilation errors"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--exit-on-error"
aastore
invokespecial jdk.tools.jaotc.Options$12.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 12
12: new jdk.tools.jaotc.Options$13
dup
ldc " --info Print information during compilation"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--info"
aastore
invokespecial jdk.tools.jaotc.Options$13.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 13
13: new jdk.tools.jaotc.Options$14
dup
ldc " --verbose Print verbose information"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--verbose"
aastore
invokespecial jdk.tools.jaotc.Options$14.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 14
14: new jdk.tools.jaotc.Options$15
dup
ldc " --debug Print debug information"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--debug"
aastore
invokespecial jdk.tools.jaotc.Options$15.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 15
15: new jdk.tools.jaotc.Options$16
dup
ldc " -? -h --help Print this help message"
iconst_0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "--help"
aastore
dup
iconst_1
ldc "-h"
aastore
dup
iconst_2
ldc "-?"
aastore
invokespecial jdk.tools.jaotc.Options$16.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 16
16: new jdk.tools.jaotc.Options$17
dup
ldc " --version Version information"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--version"
aastore
invokespecial jdk.tools.jaotc.Options$17.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 17
17: new jdk.tools.jaotc.Options$18
dup
ldc " --linker-path Full path to linker executable"
iconst_1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "--linker-path"
aastore
invokespecial jdk.tools.jaotc.Options$18.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
dup
bipush 18
18: new jdk.tools.jaotc.Options$19
dup
ldc " -J<flag> Pass <flag> directly to the runtime system"
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "-J"
aastore
invokespecial jdk.tools.jaotc.Options$19.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
aastore
19: putstatic jdk.tools.jaotc.Options.recognizedOptions:[Ljdk/tools/jaotc/Options$Option;
20: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield jdk.tools.jaotc.Options.files:Ljava/util/List;
2: aload 0
aload 0
invokevirtual jdk.tools.jaotc.Options.defaultOutputName:()Ljava/lang/String;
putfield jdk.tools.jaotc.Options.outputName:Ljava/lang/String;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield jdk.tools.jaotc.Options.sources:Ljava/util/List;
4: aload 0
aconst_null
putfield jdk.tools.jaotc.Options.linkerpath:Ljava/lang/String;
5: aload 0
new jdk.tools.jaotc.collect.SearchPath
dup
invokespecial jdk.tools.jaotc.collect.SearchPath.<init>:()V
putfield jdk.tools.jaotc.Options.searchPath:Ljdk/tools/jaotc/collect/SearchPath;
6: aload 0
bipush 16
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokestatic java.lang.Integer.min:(II)I
putfield jdk.tools.jaotc.Options.threads:I
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/tools/jaotc/Options;
private java.lang.String defaultOutputName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putfield jdk.tools.jaotc.Options.osName:Ljava/lang/String;
1: ldc "unnamed."
astore 1
start local 1 2: aload 0
getfield jdk.tools.jaotc.Options.osName:Ljava/lang/String;
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-187773587: 3
73425108: 4
default: 9
}
StackMap locals: jdk.tools.jaotc.Options java.lang.String top java.lang.String
StackMap stack:
3: aload 3
ldc "Mac OS X"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 9
StackMap locals:
StackMap stack:
4: aload 3
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 9
5: StackMap locals:
StackMap stack:
ldc "so"
astore 2
start local 2 6: goto 13
end local 2 7: StackMap locals:
StackMap stack:
ldc "dylib"
astore 2
start local 2 8: goto 13
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.Options.osName:Ljava/lang/String;
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 12
10: ldc "dll"
astore 2
start local 2 11: goto 13
end local 2 12: StackMap locals:
StackMap stack:
ldc "so"
astore 2
start local 2 13: StackMap locals: jdk.tools.jaotc.Options java.lang.String java.lang.String
StackMap stack:
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 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/tools/jaotc/Options;
2 14 1 name Ljava/lang/String;
6 7 2 ext Ljava/lang/String;
8 9 2 ext Ljava/lang/String;
11 12 2 ext Ljava/lang/String;
13 14 2 ext Ljava/lang/String;
static void handleOptions(jdk.tools.jaotc.Main, java.lang.String[]);
descriptor: (Ljdk/tools/jaotc/Main;[Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifne 3
1: aload 0
getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
iconst_1
putfield jdk.tools.jaotc.Options.help:Z
2: return
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 22
5: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 6: aload 3
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 20
7: aload 3
invokestatic jdk.tools.jaotc.Options.getOption:(Ljava/lang/String;)Ljdk/tools/jaotc/Options$Option;
astore 4
start local 4 8: aconst_null
astore 5
start local 5 9: aload 4
getfield jdk.tools.jaotc.Options$Option.hasArg:Z
ifeq 17
10: aload 3
ldc "--"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
aload 3
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
ifle 13
11: aload 3
aload 3
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
aload 3
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
12: goto 15
StackMap locals: java.lang.String jdk.tools.jaotc.Options$Option java.lang.String
StackMap stack:
13: iload 2
iconst_1
iadd
aload 1
arraylength
if_icmpge 15
14: aload 1
iinc 2 1
iload 2
aaload
astore 5
15: StackMap locals:
StackMap stack:
aload 5
ifnull 16
aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifne 16
aload 5
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 17
16: StackMap locals:
StackMap stack:
new jdk.tools.jaotc.Options$BadArgs
dup
ldc "missing argument for option: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokespecial jdk.tools.jaotc.Options$BadArgs.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
iconst_1
invokevirtual jdk.tools.jaotc.Options$BadArgs.showUsage:(Z)Ljdk/tools/jaotc/Options$BadArgs;
athrow
17: StackMap locals:
StackMap stack:
aload 4
aload 0
aload 3
aload 5
invokevirtual jdk.tools.jaotc.Options$Option.process:(Ljdk/tools/jaotc/Main;Ljava/lang/String;Ljava/lang/String;)V
18: aload 4
invokevirtual jdk.tools.jaotc.Options$Option.ignoreRest:()Z
ifeq 21
19: goto 23
end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
getfield jdk.tools.jaotc.Options.files:Ljava/util/List;
new jdk.tools.jaotc.collect.SearchFor
dup
aload 3
invokespecial jdk.tools.jaotc.collect.SearchFor.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals:
StackMap stack:
iinc 2 1
end local 3 22: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 5
23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 task Ljdk/tools/jaotc/Main;
0 24 1 args [Ljava/lang/String;
4 24 2 i I
6 22 3 arg Ljava/lang/String;
8 20 4 option Ljdk/tools/jaotc/Options$Option;
9 20 5 param Ljava/lang/String;
Exceptions:
throws jdk.tools.jaotc.Options$BadArgs
MethodParameters:
Name Flags
task
args
static jdk.tools.jaotc.Options$Option getOption(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/Options$Option;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: getstatic jdk.tools.jaotc.Options.recognizedOptions:[Ljdk/tools/jaotc/Options$Option;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.String top int int jdk.tools.jaotc.Options$Option[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
aload 0
invokevirtual jdk.tools.jaotc.Options$Option.matches:(Ljava/lang/String;)Z
ifeq 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: new jdk.tools.jaotc.Options$BadArgs
dup
ldc "unknown option: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokespecial jdk.tools.jaotc.Options$BadArgs.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
iconst_1
invokevirtual jdk.tools.jaotc.Options$BadArgs.showUsage:(Z)Ljdk/tools/jaotc/Options$BadArgs;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 name Ljava/lang/String;
2 4 1 o Ljdk/tools/jaotc/Options$Option;
Exceptions:
throws jdk.tools.jaotc.Options$BadArgs
MethodParameters:
Name Flags
name
}
SourceFile: "Options.java"
NestMembers:
jdk.tools.jaotc.Options$1 jdk.tools.jaotc.Options$10 jdk.tools.jaotc.Options$11 jdk.tools.jaotc.Options$12 jdk.tools.jaotc.Options$13 jdk.tools.jaotc.Options$14 jdk.tools.jaotc.Options$15 jdk.tools.jaotc.Options$16 jdk.tools.jaotc.Options$17 jdk.tools.jaotc.Options$18 jdk.tools.jaotc.Options$19 jdk.tools.jaotc.Options$2 jdk.tools.jaotc.Options$3 jdk.tools.jaotc.Options$4 jdk.tools.jaotc.Options$5 jdk.tools.jaotc.Options$6 jdk.tools.jaotc.Options$7 jdk.tools.jaotc.Options$8 jdk.tools.jaotc.Options$9 jdk.tools.jaotc.Options$BadArgs jdk.tools.jaotc.Options$Option
InnerClasses:
jdk.tools.jaotc.Options$1
jdk.tools.jaotc.Options$10
jdk.tools.jaotc.Options$11
jdk.tools.jaotc.Options$12
jdk.tools.jaotc.Options$13
jdk.tools.jaotc.Options$14
jdk.tools.jaotc.Options$15
jdk.tools.jaotc.Options$16
jdk.tools.jaotc.Options$17
jdk.tools.jaotc.Options$18
jdk.tools.jaotc.Options$19
jdk.tools.jaotc.Options$2
jdk.tools.jaotc.Options$3
jdk.tools.jaotc.Options$4
jdk.tools.jaotc.Options$5
jdk.tools.jaotc.Options$6
jdk.tools.jaotc.Options$7
jdk.tools.jaotc.Options$8
jdk.tools.jaotc.Options$9
BadArgs = jdk.tools.jaotc.Options$BadArgs of jdk.tools.jaotc.Options
abstract Option = jdk.tools.jaotc.Options$Option of jdk.tools.jaotc.Options