public class com.oracle.truffle.js.shell.JSLauncher extends org.graalvm.launcher.AbstractLanguageLauncher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.shell.JSLauncher
super_class: org.graalvm.launcher.AbstractLanguageLauncher
{
static final java.lang.String MODULE_MIME_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "application/javascript+module"
private static final java.lang.String PROMPT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "> "
boolean printResult;
descriptor: Z
flags: (0x0000)
boolean fuzzilliREPRL;
descriptor: Z
flags: (0x0000)
java.lang.String[] programArgs;
descriptor: [Ljava/lang/String;
flags: (0x0000)
final java.util.List<com.oracle.truffle.js.shell.JSLauncher$UnparsedSource> unparsedSources;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/js/shell/JSLauncher$UnparsedSource;>;
private org.graalvm.launcher.Launcher$VersionAction versionAction;
descriptor: Lorg/graalvm/launcher/Launcher$VersionAction;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.launcher.AbstractLanguageLauncher.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.truffle.js.shell.JSLauncher.printResult:Z
2: aload 0
iconst_0
putfield com.oracle.truffle.js.shell.JSLauncher.fuzzilliREPRL:Z
3: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
4: aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.None:Lorg/graalvm/launcher/Launcher$VersionAction;
putfield com.oracle.truffle.js.shell.JSLauncher.versionAction:Lorg/graalvm/launcher/Launcher$VersionAction;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.shell.JSLauncher
dup
invokespecial com.oracle.truffle.js.shell.JSLauncher.<init>:()V
aload 0
invokevirtual com.oracle.truffle.js.shell.JSLauncher.launch:([Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/String;
MethodParameters:
Name Flags
args
protected void launch(org.graalvm.polyglot.Context$Builder);
descriptor: (Lorg/graalvm/polyglot/Context$Builder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.fuzzilliREPRL:Z
ifeq 3
1: aload 1
invokestatic com.oracle.truffle.js.shell.JSFuzzilliRunner.runFuzzilliREPRL:(Lorg/graalvm/polyglot/Context$Builder;)I
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.shell.JSLauncher.executeScripts:(Lorg/graalvm/polyglot/Context$Builder;)I
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
iload 2
ifeq 6
5: aload 0
aconst_null
iload 2
invokevirtual com.oracle.truffle.js.shell.JSLauncher.abort:(Ljava/lang/String;I)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 7 1 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
2 3 2 exitCode I
4 7 2 exitCode I
MethodParameters:
Name Flags
contextBuilder
protected java.lang.String getLanguageId();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "js"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
private void loadSourcesFromImage(java.util.Set<org.graalvm.polyglot.Source>);
descriptor: (Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.Set top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
astore 2
start local 2 2: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.Set com.oracle.truffle.js.shell.JSLauncher$UnparsedSource java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.Source
astore 4
start local 4 4: new java.io.File
dup
aload 2
getfield com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.src:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 6
start local 6 5: aload 4
invokevirtual org.graalvm.polyglot.Source.getPath:()Ljava/lang/String;
ifnull 10
aload 4
invokevirtual org.graalvm.polyglot.Source.getPath:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
6: aload 2
aload 4
putfield com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.parsedSource:Lorg/graalvm/polyglot/Source;
7: goto 11
end local 6 8: StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.Set com.oracle.truffle.js.shell.JSLauncher$UnparsedSource java.util.Iterator org.graalvm.polyglot.Source java.util.Iterator
StackMap stack: java.io.IOException
astore 7
start local 7 9: aload 0
aload 7
invokevirtual com.oracle.truffle.js.shell.JSLauncher.abort:(Ljava/io/IOException;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 7 end local 4 10: StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.Set com.oracle.truffle.js.shell.JSLauncher$UnparsedSource java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 11: StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.Set top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 13 1 imageSources Ljava/util/Set<Lorg/graalvm/polyglot/Source;>;
2 11 2 unparsedSource Lcom/oracle/truffle/js/shell/JSLauncher$UnparsedSource;
4 10 4 source Lorg/graalvm/polyglot/Source;
5 8 6 path Ljava/lang/String;
9 10 7 e Ljava/io/IOException;
Exception table:
from to target type
4 7 8 Class java.io.IOException
Signature: (Ljava/util/Set<Lorg/graalvm/polyglot/Source;>;)V
MethodParameters:
Name Flags
imageSources
protected void preEval(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)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 Lcom/oracle/truffle/js/shell/JSLauncher;
0 1 1 context Lorg/graalvm/polyglot/Context;
MethodParameters:
Name Flags
context
protected 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: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 2: goto 35
3: StackMap locals: java.util.List java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: aload 5
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 34
aload 5
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 34
5: aload 5
ldc "--"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: goto 36
7: StackMap locals: java.lang.String
StackMap stack:
aload 5
ldc "--"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
8: aload 5
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 9: goto 15
end local 6 10: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 11: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 15
12: aload 0
aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.oracle.truffle.js.shell.JSLauncher.expandShortFlag:(C)Ljava/lang/String;
astore 7
start local 7 13: aload 7
ifnull 15
14: aload 7
astore 6
end local 7 15: StackMap locals: java.lang.String
StackMap stack:
invokestatic com.oracle.truffle.js.shell.JSLauncher.$SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult:()[I
aload 0
aload 6
invokevirtual com.oracle.truffle.js.shell.JSLauncher.preprocessArgument:(Ljava/lang/String;)Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
invokevirtual com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 16
2: 18
3: 17
default: 18
}
16: StackMap locals:
StackMap stack:
goto 35
17: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Should not reach here"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 6
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 19: iload 8
ifle 23
20: aload 6
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 7
start local 7 21: aload 6
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
22: goto 27
end local 7 StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.List java.util.Map java.util.List java.util.ListIterator java.lang.String java.lang.String top int
StackMap stack:
23: aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifeq 26
24: aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 25: goto 27
end local 7 26: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 27: StackMap locals: com.oracle.truffle.js.shell.JSLauncher java.util.List java.util.Map java.util.List java.util.ListIterator java.lang.String java.lang.String java.lang.String int
StackMap stack:
invokestatic com.oracle.truffle.js.shell.JSLauncher.$SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult:()[I
aload 0
aload 6
aload 7
invokevirtual com.oracle.truffle.js.shell.JSLauncher.preprocessArgument:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
invokevirtual com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 28
2: 30
3: 29
default: 30
}
28: StackMap locals:
StackMap stack:
goto 35
29: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Missing argument for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.js.shell.JSLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
30: StackMap locals:
StackMap stack:
aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: iload 8
ifge 35
aload 7
ifnull 35
32: aload 4
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 33: goto 35
34: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.truffle.js.shell.JSLauncher.addFile:(Ljava/lang/String;)V
end local 5 35: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 3
36: StackMap locals:
StackMap stack:
aload 1
aload 4
invokeinterface java.util.ListIterator.nextIndex:()I
aload 1
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 5
start local 5 37: aload 0
aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield com.oracle.truffle.js.shell.JSLauncher.programArgs:[Ljava/lang/String;
38: aload 3
areturn
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 39 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 39 1 arguments Ljava/util/List<Ljava/lang/String;>;
0 39 2 polyglotOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 39 3 unrecognizedOptions Ljava/util/List<Ljava/lang/String;>;
2 39 4 iterator Ljava/util/ListIterator<Ljava/lang/String;>;
4 35 5 arg Ljava/lang/String;
9 10 6 flag Ljava/lang/String;
11 33 6 flag Ljava/lang/String;
13 15 7 longFlag Ljava/lang/String;
21 23 7 value Ljava/lang/String;
25 26 7 value Ljava/lang/String;
27 33 7 value Ljava/lang/String;
19 33 8 equalsIndex I
37 39 5 programArgsList Ljava/util/List<Ljava/lang/String;>;
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 com.oracle.truffle.js.shell.JSLauncher$PreprocessResult preprocessArgument(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 5
-1176136899: 1
-375721686: 2
351608024: 3
552046088: 4
932309753: 5
default: 14
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 2
ldc "print-result"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 14
StackMap locals:
StackMap stack:
2: aload 2
ldc "printResult"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 14
StackMap locals:
StackMap stack:
3: aload 2
ldc "version"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 14
StackMap locals:
StackMap stack:
4: aload 2
ldc "show-version"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 14
StackMap locals:
StackMap stack:
5: aload 2
ldc "fuzzilli-reprl"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 14
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.shell.JSLauncher.printResult:Z
7: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndContinue:Lorg/graalvm/launcher/Launcher$VersionAction;
putfield com.oracle.truffle.js.shell.JSLauncher.versionAction:Lorg/graalvm/launcher/Launcher$VersionAction;
9: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndExit:Lorg/graalvm/launcher/Launcher$VersionAction;
putfield com.oracle.truffle.js.shell.JSLauncher.versionAction:Lorg/graalvm/launcher/Launcher$VersionAction;
11: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.shell.JSLauncher.fuzzilliREPRL:Z
13: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
14: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Unhandled:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 15 1 argument Ljava/lang/String;
MethodParameters:
Name Flags
argument
protected com.oracle.truffle.js.shell.JSLauncher$PreprocessResult preprocessArgument(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1068784020: 1
3125404: 2
3143036: 3
1937608192: 4
default: 21
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 3
ldc "module"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 21
StackMap locals:
StackMap stack:
2: aload 3
ldc "eval"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 21
StackMap locals:
StackMap stack:
3: aload 3
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 21
StackMap locals:
StackMap stack:
4: aload 3
ldc "strict-file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 21
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 7
6: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.MissingValue:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.shell.JSLauncher.addEval:(Ljava/lang/String;)V
8: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 11
10: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.MissingValue:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.shell.JSLauncher.addFile:(Ljava/lang/String;)V
12: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
13: StackMap locals:
StackMap stack:
aload 2
ifnonnull 15
14: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.MissingValue:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
15: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.shell.JSLauncher.addModule:(Ljava/lang/String;)V
16: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
17: StackMap locals:
StackMap stack:
aload 2
ifnonnull 19
18: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.MissingValue:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
19: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.js.shell.JSLauncher.addStrictFile:(Ljava/lang/String;)V
20: getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
21: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Unhandled:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 22 1 argument Ljava/lang/String;
0 22 2 value Ljava/lang/String;
MethodParameters:
Name Flags
argument
value
protected java.lang.String expandShortFlag(char);
descriptor: (C)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 101 - 102
101: 1
102: 2
default: 3
}
1: StackMap locals:
StackMap stack:
ldc "eval"
areturn
2: StackMap locals:
StackMap stack:
ldc "file"
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 4 1 f C
MethodParameters:
Name Flags
f
boolean hasSources();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
org.graalvm.polyglot.Source[] parseSources();
descriptor: ()[Lorg/graalvm/polyglot/Source;
flags: (0x0000)
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray org.graalvm.polyglot.Source
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Source[] int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
astore 3
start local 3 4: aload 1
iload 2
iinc 2 1
aload 3
invokevirtual com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.parse:()Lorg/graalvm/polyglot/Source;
aastore
5: goto 9
StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Source[] int com.oracle.truffle.js.shell.JSLauncher$UnparsedSource java.util.Iterator
StackMap stack: java.io.IOException
6: astore 5
start local 5 7: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error: Error loading file %s. %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.src:Ljava/lang/String;
aastore
dup
iconst_1
aload 5
invokevirtual java.io.IOException.getMessage:()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
8: iconst_0
anewarray org.graalvm.polyglot.Source
areturn
end local 5 end local 3 9: StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Source[] int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
1 11 1 sources [Lorg/graalvm/polyglot/Source;
2 11 2 i I
4 9 3 unparsedSource Lcom/oracle/truffle/js/shell/JSLauncher$UnparsedSource;
7 9 5 e Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.io.IOException
void addFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
new com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
dup
aload 1
getstatic com.oracle.truffle.js.shell.JSLauncher$SourceType.FILE:Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;
invokespecial com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 2 1 file Ljava/lang/String;
MethodParameters:
Name Flags
file
void addEval(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
new com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
dup
aload 1
getstatic com.oracle.truffle.js.shell.JSLauncher$SourceType.EVAL:Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;
invokespecial com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 2 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
void addModule(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
new com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
dup
aload 1
getstatic com.oracle.truffle.js.shell.JSLauncher$SourceType.MODULE:Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;
invokespecial com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 2 1 file Ljava/lang/String;
MethodParameters:
Name Flags
file
void addStrictFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.unparsedSources:Ljava/util/List;
new com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
dup
aload 1
getstatic com.oracle.truffle.js.shell.JSLauncher$SourceType.STRICT:Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;
invokespecial com.oracle.truffle.js.shell.JSLauncher$UnparsedSource.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/shell/JSLauncher$SourceType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 2 1 file Ljava/lang/String;
MethodParameters:
Name Flags
file
protected void validateArguments(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.shell.JSLauncher.hasSources:()Z
ifne 2
aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.printResult:Z
ifeq 2
1: aload 0
ldc "Error: cannot print the return value when no FILE is passed."
bipush 6
invokevirtual com.oracle.truffle.js.shell.JSLauncher.abort:(Ljava/lang/String;I)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 3 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 void printHelp(org.graalvm.options.OptionCategory);
descriptor: (Lorg/graalvm/options/OptionCategory;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Usage: js [OPTION]... [FILE]..."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Run JavaScript FILEs on the Graal.js engine. Run an interactive JavaScript shell if no FILE nor --eval is specified.\n"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Arguments that are mandatory for long options are also mandatory for short options.\n"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Basic Options:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: ldc "-e, --eval CODE"
ldc "evaluate the code"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
6: ldc "-f, --file FILE"
ldc "load script file"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
7: ldc "--module FILE"
ldc "load module file"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
8: ldc "--syntax-extensions"
ldc "enable non-spec syntax extensions"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
9: ldc "--print-result"
ldc "print the return value of each FILE"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
10: ldc "--scripting"
ldc "enable scripting features (Nashorn compatibility option)"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
11: ldc "--strict"
ldc "run in strict mode"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
12: ldc "--version"
ldc "print the version and exit"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
13: ldc "--show-version"
ldc "print the version and continue"
invokestatic com.oracle.truffle.js.shell.JSLauncher.printOption:(Ljava/lang/String;Ljava/lang/String;)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 15 1 maxCategory Lorg/graalvm/options/OptionCategory;
MethodParameters:
Name Flags
maxCategory
protected void collectArguments(java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Set;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 10
anewarray java.lang.String
dup
iconst_0
1: ldc "-e"
aastore
dup
iconst_1
ldc "--eval"
aastore
dup
iconst_2
2: ldc "-f"
aastore
dup
iconst_3
ldc "--file"
aastore
dup
iconst_4
3: ldc "--syntax-extensions"
aastore
dup
iconst_5
4: ldc "--print-result"
aastore
dup
bipush 6
5: ldc "--version"
aastore
dup
bipush 7
6: ldc "--show-version"
aastore
dup
bipush 8
7: ldc "--scripting"
aastore
dup
bipush 9
8: ldc "--strict"
aastore
9: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 11 1 args Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
args
protected static void printOption(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
bipush 22
if_icmplt 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%s%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc " "
aastore
dup
iconst_1
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: ldc ""
astore 2
start local 2 3: goto 5
end local 2 4: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 5: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " %-22s%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 option Ljava/lang/String;
0 7 1 description Ljava/lang/String;
3 4 2 opt Ljava/lang/String;
5 7 2 opt Ljava/lang/String;
MethodParameters:
Name Flags
option
description
protected int executeScripts(org.graalvm.polyglot.Context$Builder);
descriptor: (Lorg/graalvm/polyglot/Context$Builder;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
ldc "js"
aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.programArgs:[Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Context$Builder.arguments:(Ljava/lang/String;[Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
1: aload 1
ldc "js.shell"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
2: aconst_null
astore 3
aconst_null
astore 4
3: aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 5
start local 5 4: aload 0
aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.versionAction:Lorg/graalvm/launcher/Launcher$VersionAction;
aload 5
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual com.oracle.truffle.js.shell.JSLauncher.runVersionAction:(Lorg/graalvm/launcher/Launcher$VersionAction;Lorg/graalvm/polyglot/Engine;)V
5: aload 0
aload 5
invokevirtual com.oracle.truffle.js.shell.JSLauncher.preEval:(Lorg/graalvm/polyglot/Context;)V
6: aload 0
invokevirtual com.oracle.truffle.js.shell.JSLauncher.hasSources:()Z
ifeq 26
7: aload 0
aload 5
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getCachedSources:()Ljava/util/Set;
invokevirtual com.oracle.truffle.js.shell.JSLauncher.loadSourcesFromImage:(Ljava/util/Set;)V
8: aload 0
invokevirtual com.oracle.truffle.js.shell.JSLauncher.parseSources:()[Lorg/graalvm/polyglot/Source;
astore 6
start local 6 9: iconst_m1
istore 2
start local 2 10: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 24
StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Source[] top int int org.graalvm.polyglot.Source[]
StackMap stack:
11: aload 10
iload 8
aaload
astore 7
start local 7 12: aload 5
aload 7
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
astore 11
start local 11 13: aload 0
getfield com.oracle.truffle.js.shell.JSLauncher.printResult:Z
ifeq 15
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Result: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual org.graalvm.polyglot.Value.toString:()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.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Source[] org.graalvm.polyglot.Source int int org.graalvm.polyglot.Source[] org.graalvm.polyglot.Value
StackMap stack:
iconst_0
istore 2
end local 11 16: goto 23
StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Source[] org.graalvm.polyglot.Source int int org.graalvm.polyglot.Source[]
StackMap stack: org.graalvm.polyglot.PolyglotException
17: astore 11
start local 11 18: aload 11
invokestatic com.oracle.truffle.js.shell.JSLauncher.handlePolyglotException:(Lorg/graalvm/polyglot/PolyglotException;)I
istore 2
end local 11 19: goto 23
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
start local 11 21: aload 11
invokevirtual java.lang.Throwable.printStackTrace:()V
22: bipush 8
istore 2
end local 11 end local 7 23: StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Source[] top int int org.graalvm.polyglot.Source[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
iload 9
if_icmplt 11
end local 6 25: goto 27
end local 2 26: StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack:
aload 5
invokestatic com.oracle.truffle.js.shell.JSLauncher.runREPL:(Lorg/graalvm/polyglot/Context;)I
istore 2
start local 2 27: StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder int java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack:
aload 5
ifnull 35
aload 5
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 35
end local 2 StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder top java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
28: astore 3
aload 5
ifnull 29
aload 5
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 5 StackMap locals:
StackMap stack:
29: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 4
aload 3
ifnonnull 31
aload 4
astore 3
goto 32
StackMap locals:
StackMap stack:
31: aload 3
aload 4
if_acmpeq 32
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 3
athrow
StackMap locals: com.oracle.truffle.js.shell.JSLauncher org.graalvm.polyglot.Context$Builder
StackMap stack: org.graalvm.polyglot.PolyglotException
33: astore 3
start local 3 34: aload 3
invokestatic com.oracle.truffle.js.shell.JSLauncher.handlePolyglotException:(Lorg/graalvm/polyglot/PolyglotException;)I
istore 2
end local 3 start local 2 35: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
36: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
37: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/oracle/truffle/js/shell/JSLauncher;
0 38 1 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
10 26 2 status I
27 28 2 status I
35 38 2 status I
4 29 5 context Lorg/graalvm/polyglot/Context;
9 25 6 sources [Lorg/graalvm/polyglot/Source;
12 23 7 source Lorg/graalvm/polyglot/Source;
13 16 11 result Lorg/graalvm/polyglot/Value;
18 19 11 e Lorg/graalvm/polyglot/PolyglotException;
21 23 11 t Ljava/lang/Throwable;
34 35 3 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
12 16 17 Class org.graalvm.polyglot.PolyglotException
12 16 20 Class java.lang.Throwable
4 27 28 any
3 30 30 any
2 33 33 Class org.graalvm.polyglot.PolyglotException
MethodParameters:
Name Flags
contextBuilder
private static int handlePolyglotException(org.graalvm.polyglot.PolyglotException);
descriptor: (Lorg/graalvm/polyglot/PolyglotException;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.isExit:()Z
ifeq 5
1: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.getExitStatus:()I
istore 1
start local 1 2: iload 1
ifeq 15
3: aload 0
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.truffle.js.shell.JSLauncher.printError:(Ljava/lang/Throwable;Ljava/io/PrintStream;)V
4: goto 15
end local 1 StackMap locals:
StackMap stack:
5: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.isSyntaxError:()Z
ifeq 9
6: aload 0
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.truffle.js.shell.JSLauncher.printError:(Ljava/lang/Throwable;Ljava/io/PrintStream;)V
7: bipush 7
istore 1
start local 1 8: goto 15
end local 1 StackMap locals:
StackMap stack:
9: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
ifne 13
10: aload 0
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.truffle.js.shell.JSLauncher.printStackTraceSkipTrailingHost:(Lorg/graalvm/polyglot/PolyglotException;Ljava/io/PrintStream;)V
11: bipush 7
istore 1
start local 1 12: goto 15
end local 1 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.printStackTrace:()V
14: bipush 8
istore 1
start local 1 15: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 e Lorg/graalvm/polyglot/PolyglotException;
2 5 1 status I
8 9 1 status I
12 13 1 status I
15 16 1 status I
MethodParameters:
Name Flags
e
private static int runREPL(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.shell.JSLauncher.setupConsole:()Lcom/oracle/truffle/js/shell/ConsoleHandler;
astore 1
start local 1 1: goto 5
end local 1 StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
4: iconst_1
ireturn
end local 2 start local 1 5: StackMap locals: com.oracle.truffle.js.shell.ConsoleHandler
StackMap stack:
iconst_0
istore 2
start local 2 6: StackMap locals: int
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.js.shell.ConsoleHandler.readLine:()Ljava/lang/String;
astore 3
start local 3 7: aload 3
ifnonnull 9
8: iconst_0
ireturn
9: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: goto 6
11: StackMap locals:
StackMap stack:
aload 0
ldc "js"
aload 3
new java.lang.StringBuilder
dup
ldc "<shell>:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iinc 2 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Source$Builder.interactive:(Z)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
end local 3 12: goto 6
StackMap locals: org.graalvm.polyglot.Context com.oracle.truffle.js.shell.ConsoleHandler int
StackMap stack: org.graalvm.polyglot.PolyglotException
13: astore 3
start local 3 14: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isExit:()Z
ifeq 16
15: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.getExitStatus:()I
ireturn
16: StackMap locals: org.graalvm.polyglot.PolyglotException
StackMap stack:
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isSyntaxError:()Z
ifeq 19
17: aload 3
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.truffle.js.shell.JSLauncher.printError:(Ljava/lang/Throwable;Ljava/io/PrintStream;)V
18: goto 6
StackMap locals:
StackMap stack:
19: aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
ifne 22
20: aload 3
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic com.oracle.truffle.js.shell.JSLauncher.printStackTraceSkipTrailingHost:(Lorg/graalvm/polyglot/PolyglotException;Ljava/io/PrintStream;)V
21: goto 6
22: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.polyglot.PolyglotException.printStackTrace:()V
23: bipush 8
ireturn
end local 3 24: StackMap locals: org.graalvm.polyglot.Context com.oracle.truffle.js.shell.ConsoleHandler int
StackMap stack: java.lang.Throwable
astore 3
start local 3 25: aload 3
invokevirtual java.lang.Throwable.printStackTrace:()V
26: bipush 8
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 context Lorg/graalvm/polyglot/Context;
1 2 1 console Lcom/oracle/truffle/js/shell/ConsoleHandler;
5 27 1 console Lcom/oracle/truffle/js/shell/ConsoleHandler;
3 5 2 ioe Ljava/io/IOException;
6 27 2 lineNumber I
7 12 3 line Ljava/lang/String;
14 24 3 e Lorg/graalvm/polyglot/PolyglotException;
25 27 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
6 8 13 Class org.graalvm.polyglot.PolyglotException
9 10 13 Class org.graalvm.polyglot.PolyglotException
11 12 13 Class org.graalvm.polyglot.PolyglotException
6 8 24 Class java.lang.Throwable
9 10 24 Class java.lang.Throwable
11 12 24 Class java.lang.Throwable
MethodParameters:
Name Flags
context
private static boolean isInteractiveTerminal();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.System.console:()Ljava/io/Console;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.truffle.js.shell.ConsoleHandler setupConsole();
descriptor: ()Lcom/oracle/truffle/js/shell/ConsoleHandler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: invokestatic com.oracle.truffle.js.shell.JSLauncher.isInteractiveTerminal:()Z
ifeq 2
1: new com.oracle.truffle.js.shell.JLineConsoleHandler
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "> "
invokespecial com.oracle.truffle.js.shell.JLineConsoleHandler.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.shell.DefaultConsoleHandler
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
getstatic java.lang.System.out:Ljava/io/PrintStream;
aconst_null
invokespecial com.oracle.truffle.js.shell.DefaultConsoleHandler.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
private static void printError(java.lang.Throwable, java.io.PrintStream);
descriptor: (Ljava/lang/Throwable;Ljava/io/PrintStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 3
2: aload 1
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Ljava/lang/Throwable;
0 4 1 output Ljava/io/PrintStream;
1 4 2 message Ljava/lang/String;
MethodParameters:
Name Flags
e
output
private static void printStackTraceSkipTrailingHost(org.graalvm.polyglot.PolyglotException, java.io.PrintStream);
descriptor: (Lorg/graalvm/polyglot/PolyglotException;Ljava/io/PrintStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.getPolyglotStackTrace:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.polyglot.PolyglotException java.io.PrintStream java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.PolyglotException$StackFrame
astore 3
start local 3 3: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
aload 2
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
astore 3
start local 3 6: goto 10
7: StackMap locals: org.graalvm.polyglot.PolyglotException java.io.PrintStream java.util.List java.util.ListIterator
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.PolyglotException$StackFrame
astore 4
start local 4 8: aload 4
invokevirtual org.graalvm.polyglot.PolyglotException$StackFrame.isHostFrame:()Z
ifeq 11
9: aload 3
invokeinterface java.util.ListIterator.remove:()V
end local 4 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.hasPrevious:()Z
ifne 7
end local 3 11: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.isHostException:()Z
ifeq 12
aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.asHostException:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
goto 13
StackMap locals:
StackMap stack: java.io.PrintStream
12: aload 0
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
StackMap locals: org.graalvm.polyglot.PolyglotException java.io.PrintStream java.util.List
StackMap stack: java.io.PrintStream java.lang.String
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals: org.graalvm.polyglot.PolyglotException java.io.PrintStream java.util.List top java.util.Iterator
StackMap stack:
15: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.polyglot.PolyglotException$StackFrame
astore 3
start local 3 16: aload 1
new java.lang.StringBuilder
dup
ldc "\tat "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 17: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 e Lorg/graalvm/polyglot/PolyglotException;
0 19 1 output Ljava/io/PrintStream;
1 19 2 stackTrace Ljava/util/List<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;
3 4 3 s Lorg/graalvm/polyglot/PolyglotException$StackFrame;
6 11 3 iterator Ljava/util/ListIterator<Lorg/graalvm/polyglot/PolyglotException$StackFrame;>;
8 10 4 s Lorg/graalvm/polyglot/PolyglotException$StackFrame;
16 17 3 s Lorg/graalvm/polyglot/PolyglotException$StackFrame;
MethodParameters:
Name Flags
e
output
static int[] $SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.js.shell.JSLauncher.$SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.values:()[Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Consumed:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
invokevirtual com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.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 com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.MissingValue:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
invokevirtual com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.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 com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.Unhandled:Lcom/oracle/truffle/js/shell/JSLauncher$PreprocessResult;
invokevirtual com.oracle.truffle.js.shell.JSLauncher$PreprocessResult.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 com.oracle.truffle.js.shell.JSLauncher.$SWITCH_TABLE$com$oracle$truffle$js$shell$JSLauncher$PreprocessResult:[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: "JSLauncher.java"
NestMembers:
com.oracle.truffle.js.shell.JSLauncher$PreprocessResult com.oracle.truffle.js.shell.JSLauncher$SourceType com.oracle.truffle.js.shell.JSLauncher$UnparsedSource
InnerClasses:
public final PreprocessResult = com.oracle.truffle.js.shell.JSLauncher$PreprocessResult of com.oracle.truffle.js.shell.JSLauncher
private final SourceType = com.oracle.truffle.js.shell.JSLauncher$SourceType of com.oracle.truffle.js.shell.JSLauncher
private final UnparsedSource = com.oracle.truffle.js.shell.JSLauncher$UnparsedSource of com.oracle.truffle.js.shell.JSLauncher
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
public final StackFrame = org.graalvm.polyglot.PolyglotException$StackFrame of org.graalvm.polyglot.PolyglotException
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source