public class com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
super_class: java.lang.Object
{
final java.lang.invoke.MethodHandle javaMainHandle;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0010) ACC_FINAL
final java.lang.String javaMainClassName;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
public java.lang.String[] mainArgs;
descriptor: [Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public void <init>(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
start local 1 // java.lang.reflect.Method javaMainMethod
0: .line 86
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 87
aload 0 /* this */
invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
aload 1 /* javaMainMethod */
invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
putfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.javaMainHandle:Ljava/lang/invoke/MethodHandle;
2: .line 88
aload 0 /* this */
aload 1 /* javaMainMethod */
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.javaMainClassName:Ljava/lang/String;
3: .line 89
return
end local 1 // java.lang.reflect.Method javaMainMethod
end local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
0 4 1 javaMainMethod Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.IllegalAccessException
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
MethodParameters:
Name Flags
javaMainMethod
public java.lang.String getJavaCommand();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
0: .line 92
aload 0 /* this */
getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.mainArgs:[Ljava/lang/String;
ifnull 9
1: .line 93
new java.lang.StringBuilder
dup
aload 0 /* this */
getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.javaMainClassName:Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1 /* commandLine */
start local 1 // java.lang.StringBuilder commandLine
2: .line 95
aload 0 /* this */
getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.mainArgs:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: com.oracle.svm.core.JavaMainWrapper$JavaMainSupport java.lang.StringBuilder top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2 /* arg */
start local 2 // java.lang.String arg
4: .line 96
aload 1 /* commandLine */
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: .line 97
aload 1 /* commandLine */
aload 2 /* arg */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 // java.lang.String arg
6: .line 95
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 3
8: .line 99
aload 1 /* commandLine */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.StringBuilder commandLine
9: .line 101
StackMap locals: com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
StackMap stack:
aconst_null
areturn
end local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
2 9 1 commandLine Ljava/lang/StringBuilder;
4 6 2 arg Ljava/lang/String;
public java.util.List<java.lang.String> getInputArguments();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
0: .line 105
getstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
astore 1 /* args */
start local 1 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
1: .line 106
aload 1 /* args */
invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.isNonNull:()Z
ifeq 7
aload 1 /* args */
invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgc:()I
ifle 7
2: .line 107
aload 1 /* args */
invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgc:()I
aload 1 /* args */
invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
invokestatic com.oracle.svm.core.SubstrateUtil.getArgs:(ILorg/graalvm/nativeimage/c/type/CCharPointerPointer;)[Ljava/lang/String;
astore 2 /* unmodifiedArgs */
start local 2 // java.lang.String[] unmodifiedArgs
3: .line 108
new java.util.ArrayList
dup
aload 2 /* unmodifiedArgs */
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3 /* inputArgs */
start local 3 // java.util.List inputArgs
4: .line 110
aload 0 /* this */
getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.mainArgs:[Ljava/lang/String;
ifnull 6
5: .line 111
aload 3 /* inputArgs */
aload 0 /* this */
getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.mainArgs:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
pop
6: .line 113
StackMap locals: com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters java.lang.String[] java.util.List
StackMap stack:
aload 3 /* inputArgs */
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 3 // java.util.List inputArgs
end local 2 // java.lang.String[] unmodifiedArgs
7: .line 115
StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
end local 0 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
1 8 1 args Lcom/oracle/svm/core/c/function/CEntryPointCreateIsolateParameters;
3 7 2 unmodifiedArgs [Ljava/lang/String;
4 7 3 inputArgs Ljava/util/List<Ljava/lang/String;>;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "JavaMainWrapper.java"
NestHost: com.oracle.svm.core.JavaMainWrapper
InnerClasses:
public JavaMainSupport = com.oracle.svm.core.JavaMainWrapper$JavaMainSupport of com.oracle.svm.core.JavaMainWrapper
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles