public abstract class org.graalvm.launcher.AbstractLanguageLauncher extends org.graalvm.launcher.LanguageLauncherBase
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.launcher.AbstractLanguageLauncher
super_class: org.graalvm.launcher.LanguageLauncherBase
{
protected static final boolean IS_LIBPOLYGLOT;
descriptor: Z
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/launcher/AbstractLanguageLauncher;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.launcher.AbstractLanguageLauncher.$assertionsDisabled:Z
3: ldc "graalvm.libpolyglot"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic org.graalvm.launcher.AbstractLanguageLauncher.IS_LIBPOLYGLOT:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.launcher.LanguageLauncherBase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
protected final void launch(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
new java.util.ArrayList
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
aconst_null
iconst_1
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.launch:(Ljava/util/List;Ljava/util/Map;Z)V
1: goto 11
StackMap locals:
StackMap stack: org.graalvm.launcher.Launcher$AbortException
2: astore 2
start local 2 3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
astore 2
start local 2 5: aload 0
aload 2
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.handlePolyglotException:(Lorg/graalvm/polyglot/PolyglotException;)V
end local 2 6: goto 11
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 8: aload 0
aload 2
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.abort:(Ljava/lang/Throwable;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 2 9: StackMap locals:
StackMap stack: org.graalvm.launcher.Launcher$AbortException
astore 2
start local 2 10: aload 0
aload 2
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.handleAbortException:(Lorg/graalvm/launcher/Launcher$AbortException;)V
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
0 12 1 args [Ljava/lang/String;
3 4 2 e Lorg/graalvm/launcher/Launcher$AbortException;
5 6 2 e Lorg/graalvm/polyglot/PolyglotException;
8 9 2 t Ljava/lang/Throwable;
10 11 2 e Lorg/graalvm/launcher/Launcher$AbortException;
Exception table:
from to target type
0 1 2 Class org.graalvm.launcher.Launcher$AbortException
0 1 4 Class org.graalvm.polyglot.PolyglotException
0 1 7 Class java.lang.Throwable
0 9 9 Class org.graalvm.launcher.Launcher$AbortException
MethodParameters:
Name Flags
args
final void launch(java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>, );
descriptor: (Ljava/util/List;Ljava/util/Map;Z)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 4
start local 4 1: aload 2
astore 5
start local 5 2: aload 5
ifnonnull 4
3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
4: StackMap locals: java.util.List java.util.Map
StackMap stack:
invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
ifeq 6
iload 3
ifeq 6
5: ldc "org.graalvm.launcher.languageId"
aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.preprocessArguments:(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
astore 6
start local 6 7: invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
ifeq 10
iload 3
ifeq 10
getstatic org.graalvm.launcher.AbstractLanguageLauncher.IS_LIBPOLYGLOT:Z
ifne 10
8: getstatic org.graalvm.launcher.AbstractLanguageLauncher.$assertionsDisabled:Z
ifne 9
aload 0
getfield org.graalvm.launcher.AbstractLanguageLauncher.nativeAccess:Lorg/graalvm/launcher/Launcher$Native;
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 4
aload 6
iconst_0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.maybeNativeExec:(Ljava/util/List;Ljava/util/List;Z)V
10: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
aload 5
aload 6
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.parseUnrecognizedOptions:(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
11: aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.runLauncherAction:()Z
ifeq 13
12: return
13: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.validateArguments:(Ljava/util/Map;)V
14: aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.argumentsProcessingDone:()V
15: aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.isPolyglot:()Z
ifeq 18
16: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 5
invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
astore 7
start local 7 17: goto 19
end local 7 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getDefaultLanguages:()[Ljava/lang/String;
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 5
invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
astore 7
start local 7 19: StackMap locals: org.graalvm.polyglot.Context$Builder
StackMap stack:
aload 7
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
pop
20: aload 0
aload 7
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.setupContextBuilder:(Lorg/graalvm/polyglot/Context$Builder;)V
21: aload 0
aload 7
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.launch:(Lorg/graalvm/polyglot/Context$Builder;)V
22: return
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 23 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
0 23 1 args Ljava/util/List<Ljava/lang/String;>;
0 23 2 defaultOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 23 3 doNativeSetup Z
1 23 4 originalArgs Ljava/util/List<Ljava/lang/String;>;
2 23 5 polyglotOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
7 23 6 unrecognizedArgs Ljava/util/List<Ljava/lang/String;>;
17 18 7 builder Lorg/graalvm/polyglot/Context$Builder;
19 23 7 builder Lorg/graalvm/polyglot/Context$Builder;
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)V
MethodParameters:
Name Flags
args
defaultOptions
doNativeSetup
protected abstract java.util.List<java.lang.String> preprocessArguments(java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
arguments
polyglotOptions
protected void validateArguments(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
0 1 1 polyglotOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
polyglotOptions
protected abstract void launch(org.graalvm.polyglot.Context$Builder);
descriptor: (Lorg/graalvm/polyglot/Context$Builder;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
contextBuilder
protected abstract java.lang.String getLanguageId();
descriptor: ()Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected void printVersion();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.launcher.AbstractLanguageLauncher.getTempEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
protected void printVersion(org.graalvm.polyglot.Engine);
descriptor: (Lorg/graalvm/polyglot/Engine;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.polyglot.Engine.getLanguages:()Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Language
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 0
ldc "Unknown language: '%s'!"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
4: StackMap locals: java.lang.String org.graalvm.polyglot.Language
StackMap stack:
aload 3
invokevirtual org.graalvm.polyglot.Language.getImplementationName:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
ifnull 6
aload 4
invokevirtual java.lang.String.length:()I
ifne 10
6: StackMap locals: java.lang.String
StackMap stack:
aload 3
invokevirtual org.graalvm.polyglot.Language.getName:()Ljava/lang/String;
astore 5
start local 5 7: aload 5
ifnull 8
aload 5
invokevirtual java.lang.String.length:()I
ifne 9
8: StackMap locals: java.lang.String
StackMap stack:
aload 2
astore 5
9: StackMap locals:
StackMap stack:
aload 5
astore 4
end local 5 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.polyglot.Engine.getImplementationName:()Ljava/lang/String;
astore 5
start local 5 11: invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
ifeq 14
12: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Native"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
13: goto 15
14: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " JVM"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.polyglot.Language.getVersion:()Ljava/lang/String;
astore 6
start local 6 16: aload 6
aload 1
invokevirtual org.graalvm.polyglot.Engine.getVersion:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: ldc ""
astore 6
18: goto 20
19: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
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 6
20: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%s %s(%s %s)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 6
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 1
invokevirtual org.graalvm.polyglot.Engine.getVersion:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: return
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 22 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
0 22 1 engine Lorg/graalvm/polyglot/Engine;
1 22 2 languageId Ljava/lang/String;
2 22 3 language Lorg/graalvm/polyglot/Language;
5 22 4 languageImplementationName Ljava/lang/String;
7 10 5 languageName Ljava/lang/String;
11 22 5 engineImplementationName Ljava/lang/String;
16 22 6 languageVersion Ljava/lang/String;
MethodParameters:
Name Flags
engine
protected void runVersionAction(org.graalvm.launcher.Launcher$VersionAction, org.graalvm.polyglot.Engine);
descriptor: (Lorg/graalvm/launcher/Launcher$VersionAction;Lorg/graalvm/polyglot/Engine;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:()[I
aload 1
invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
iaload
tableswitch { // 2 - 3
2: 3
3: 1
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
4: aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.exit:()Lorg/graalvm/launcher/Launcher$AbortException;
athrow
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
0 6 1 action Lorg/graalvm/launcher/Launcher$VersionAction;
0 6 2 engine Lorg/graalvm/polyglot/Engine;
MethodParameters:
Name Flags
action
engine
protected java.lang.String[] getDefaultLanguages();
descriptor: ()[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/launcher/AbstractLanguageLauncher;
static int[] $SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.launcher.Launcher$VersionAction.values:()[Lorg/graalvm/launcher/Launcher$VersionAction;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.None:Lorg/graalvm/launcher/Launcher$VersionAction;
invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndContinue:Lorg/graalvm/launcher/Launcher$VersionAction;
invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndExit:Lorg/graalvm/launcher/Launcher$VersionAction;
invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractLanguageLauncher.java"
InnerClasses:
protected final AbortException = org.graalvm.launcher.Launcher$AbortException of org.graalvm.launcher.Launcher
protected final VersionAction = org.graalvm.launcher.Launcher$VersionAction of org.graalvm.launcher.Launcher
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context