public final class com.oracle.truffle.js.test.suite.JSTestRunner extends org.junit.runners.ParentRunner<com.oracle.truffle.js.test.suite.JSTestRunner$TestCase>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.test.suite.JSTestRunner
super_class: org.junit.runners.ParentRunner
{
private static final java.lang.String FIXTURE_DIR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SCRIPT_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".js"
private static final java.lang.String MODULE_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".mjs"
private static final java.lang.String OPTION_REGEX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "@option\\s+([^=\\s]+)(?:\\s*=\\s*(\\S+))?$"
private static final java.lang.String ARGUMENT_REGEX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "@argument\\s+([^=\\s]+)$"
private static final java.lang.String LF;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean USE_NASHORN_COMPAT_MODE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.List<com.oracle.truffle.js.test.suite.JSTestRunner$TestCase> testCases;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.StringBuilder
dup
getstatic java.io.File.separator:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "fixtures"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.oracle.truffle.js.test.suite.JSTestRunner.FIXTURE_DIR:Ljava/lang/String;
1: ldc "line.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putstatic com.oracle.truffle.js.test.suite.JSTestRunner.LF:Ljava/lang/String;
2: ldc "polyglot.js.nashorn-compat"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic com.oracle.truffle.js.test.suite.JSTestRunner.USE_NASHORN_COMPAT_MODE:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.junit.runners.ParentRunner.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 1
invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.createTests:(Ljava/lang/Class;)Ljava/util/List;
putfield com.oracle.truffle.js.test.suite.JSTestRunner.testCases:Ljava/util/List;
2: goto 5
StackMap locals: com.oracle.truffle.js.test.suite.JSTestRunner java.lang.Class
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: new org.junit.runners.model.InitializationError
dup
aload 2
invokespecial org.junit.runners.model.InitializationError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/suite/JSTestRunner;
0 6 1 runningClass Ljava/lang/Class<*>;
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
Exceptions:
throws org.junit.runners.model.InitializationError
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
runningClass
protected org.junit.runner.Description describeChild(com.oracle.truffle.js.test.suite.JSTestRunner$TestCase);
descriptor: (Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;)Lorg/junit/runner/Description;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/suite/JSTestRunner;
0 1 1 child Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;
MethodParameters:
Name Flags
child
protected java.util.List<com.oracle.truffle.js.test.suite.JSTestRunner$TestCase> getChildren();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.suite.JSTestRunner.testCases:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/suite/JSTestRunner;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;>;
protected static java.util.List<com.oracle.truffle.js.test.suite.JSTestRunner$TestCase> createTests(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/js/test/suite/JSTestSuite;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.truffle.js.test.suite.JSTestSuite
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new org.junit.runners.model.InitializationError
dup
ldc "@%s annotation required on class '%s' to run with '%s'."
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc Lcom/oracle/truffle/js/test/suite/JSTestSuite;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_2
ldc Lcom/oracle/truffle/js/test/suite/JSTestRunner;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.junit.runners.model.InitializationError.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.oracle.truffle.js.test.suite.JSTestSuite
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.js.test.suite.JSTestSuite.value:()[Ljava/lang/String;
astore 2
start local 2 4: aconst_null
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 13
StackMap locals: java.lang.Class com.oracle.truffle.js.test.suite.JSTestSuite java.lang.String[] java.nio.file.Path int top int int java.lang.String[]
StackMap stack:
7: aload 8
iload 6
aaload
astore 5
start local 5 8: aload 5
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
9: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 12
10: iconst_1
istore 4
11: goto 14
end local 5 12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 7
if_icmplt 7
14: StackMap locals: java.lang.Class com.oracle.truffle.js.test.suite.JSTestSuite java.lang.String[] java.nio.file.Path int
StackMap stack:
iload 4
ifne 16
15: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
16: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
aload 2
arraylength
ifle 18
17: new java.io.FileNotFoundException
dup
aload 2
iconst_0
aaload
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 19: aload 3
new com.oracle.truffle.js.test.suite.JSTestRunner$1
dup
aload 5
aload 0
invokespecial com.oracle.truffle.js.test.suite.JSTestRunner$1.<init>:(Ljava/util/List;Ljava/lang/Class;)V
invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
pop
20: aload 5
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 21 0 c Ljava/lang/Class<*>;
1 21 1 suite Lcom/oracle/truffle/js/test/suite/JSTestSuite;
4 21 2 paths [Ljava/lang/String;
5 21 3 root Ljava/nio/file/Path;
6 21 4 pathExists Z
8 12 5 path Ljava/lang/String;
19 21 5 foundCases Ljava/util/List<Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;>;
Exceptions:
throws java.io.IOException, org.junit.runners.model.InitializationError
Signature: (Ljava/lang/Class<*>;)Ljava/util/List<Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;>;
MethodParameters:
Name Flags
c final
private static java.lang.String findSuffix(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc ".js"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 2
1: ldc ".js"
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc ".mjs"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: ldc ".mjs"
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
public static java.lang.String readAllLines(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.nio.file.Path java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.oracle.truffle.js.test.suite.JSTestRunner.LF:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 file Ljava/nio/file/Path;
1 6 1 outFile Ljava/lang/StringBuilder;
3 4 2 line Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
protected void runChild(com.oracle.truffle.js.test.suite.JSTestRunner$TestCase, org.junit.runner.notification.RunNotifier);
descriptor: (Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;Lorg/junit/runner/notification/RunNotifier;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.sourceFile:Ljava/nio/file/Path;
invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.readAllLines:(Ljava/nio/file/Path;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ldc "ignore-test"
invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.hasOption:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 5
2: aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestIgnored:(Lorg/junit/runner/Description;)V
3: aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFinished:(Lorg/junit/runner/Description;)V
4: return
5: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestStarted:(Lorg/junit/runner/Description;)V
6: aload 3
invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.parseOptions:(Ljava/lang/String;)Ljava/util/Map;
astore 4
start local 4 7: aload 4
ldc "js.nashorn-compat"
ldc "false"
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 5
start local 5 8: aload 4
ldc "js.v8-compat"
ldc "false"
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 6
start local 6 9: getstatic com.oracle.truffle.js.test.suite.JSTestRunner.USE_NASHORN_COMPAT_MODE:Z
ifeq 12
iload 6
ifne 10
iload 5
ifne 12
10: StackMap locals: java.util.Map int int
StackMap stack:
aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFinished:(Lorg/junit/runner/Description;)V
11: return
12: StackMap locals:
StackMap stack:
aload 4
ldc "js.debug-builtin"
ldc "true"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 4
ldc "js.shared-array-buffer"
ldc "true"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 4
ldc "js.intl-402"
ldc "true"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 3
invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.parseArgs:(Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 16: iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 4
invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
ldc "js"
aload 7
invokevirtual org.graalvm.polyglot.Context$Builder.arguments:(Ljava/lang/String;[Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 8
start local 8 17: aload 8
invokevirtual org.graalvm.polyglot.Context.enter:()V
18: aload 8
iload 5
ifne 19
getstatic com.oracle.truffle.js.test.suite.JSTestRunner.USE_NASHORN_COMPAT_MODE:Z
ifne 19
iconst_0
goto 20
StackMap locals: com.oracle.truffle.js.test.suite.JSTestRunner com.oracle.truffle.js.test.suite.JSTestRunner$TestCase org.junit.runner.notification.RunNotifier java.lang.String java.util.Map int int java.lang.String[] org.graalvm.polyglot.Context
StackMap stack: org.graalvm.polyglot.Context
19: iconst_1
StackMap locals: com.oracle.truffle.js.test.suite.JSTestRunner com.oracle.truffle.js.test.suite.JSTestRunner$TestCase org.junit.runner.notification.RunNotifier java.lang.String java.util.Map int int java.lang.String[] org.graalvm.polyglot.Context
StackMap stack: org.graalvm.polyglot.Context int
20: invokestatic com.oracle.truffle.js.test.suite.JSTestRunner.setTestGlobals:(Lorg/graalvm/polyglot/Context;Z)V
21: aload 8
invokevirtual org.graalvm.polyglot.Context.leave:()V
22: aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.sourceName:Ljava/lang/String;
ldc ".mjs"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 23
ldc "application/javascript+module"
goto 24
StackMap locals:
StackMap stack:
23: ldc "application/javascript"
StackMap locals:
StackMap stack: java.lang.String
24: astore 9
start local 9 25: ldc "js"
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.sourceFile:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/File;)Lorg/graalvm/polyglot/Source$Builder;
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.sourceName:Ljava/lang/String;
invokevirtual org.graalvm.polyglot.Source$Builder.name:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
aload 3
invokevirtual org.graalvm.polyglot.Source$Builder.content:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
aload 9
invokevirtual org.graalvm.polyglot.Source$Builder.mimeType:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
astore 10
start local 10 26: aload 8
aload 10
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
astore 11
start local 11 27: aload 11
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 28: goto 35
StackMap locals: com.oracle.truffle.js.test.suite.JSTestRunner com.oracle.truffle.js.test.suite.JSTestRunner$TestCase org.junit.runner.notification.RunNotifier
StackMap stack: java.lang.Throwable
29: astore 3
start local 3 30: aload 2
new org.junit.runner.notification.Failure
dup
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
aload 3
invokespecial org.junit.runner.notification.Failure.<init>:(Lorg/junit/runner/Description;Ljava/lang/Throwable;)V
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFailure:(Lorg/junit/runner/notification/Failure;)V
end local 3 31: aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFinished:(Lorg/junit/runner/Description;)V
goto 36
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
33: aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFinished:(Lorg/junit/runner/Description;)V
34: aload 12
athrow
35: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield com.oracle.truffle.js.test.suite.JSTestRunner$TestCase.testName:Lorg/junit/runner/Description;
invokevirtual org.junit.runner.notification.RunNotifier.fireTestFinished:(Lorg/junit/runner/Description;)V
36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/oracle/truffle/js/test/suite/JSTestRunner;
0 37 1 testCase Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;
0 37 2 notifier Lorg/junit/runner/notification/RunNotifier;
1 28 3 sourceLines Ljava/lang/String;
7 28 4 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
8 28 5 optionNashornCompat Z
9 28 6 optionV8Compat Z
16 28 7 args [Ljava/lang/String;
17 28 8 engineContext Lorg/graalvm/polyglot/Context;
25 28 9 mimeType Ljava/lang/String;
26 28 10 source Lorg/graalvm/polyglot/Source;
27 28 11 result Lorg/graalvm/polyglot/Value;
30 31 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 3 29 Class java.lang.Throwable
5 10 29 Class java.lang.Throwable
12 28 29 Class java.lang.Throwable
0 3 32 any
5 10 32 any
12 31 32 any
MethodParameters:
Name Flags
testCase
notifier
private static java.util.Map<java.lang.String, java.lang.String> parseOptions(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 1
start local 1 1: ldc "@option\\s+([^=\\s]+)(?:\\s*=\\s*(\\S+))?$"
bipush 8
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 3: goto 11
4: StackMap locals: java.util.Map java.util.regex.Pattern java.util.regex.Matcher
StackMap stack:
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 4
start local 4 5: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 5
start local 5 6: aload 4
ldc "js."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
7: new java.lang.StringBuilder
dup
ldc "js."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
8: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 5
ifnonnull 10
9: ldc "true"
astore 5
10: StackMap locals:
StackMap stack:
aload 1
aload 4
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.regex.Matcher.find:()Z
ifne 4
12: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 sourceLines Ljava/lang/String;
1 13 1 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
2 13 2 patternOptions Ljava/util/regex/Pattern;
3 13 3 matcher Ljava/util/regex/Matcher;
5 11 4 optionName Ljava/lang/String;
6 11 5 optionValue Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
sourceLines
private static java.lang.String[] parseArgs(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "@argument\\s+([^=\\s]+)$"
bipush 8
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
start local 3 3: goto 5
4: StackMap locals: java.util.regex.Pattern java.util.regex.Matcher java.util.List
StackMap stack:
aload 3
aload 2
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.regex.Matcher.find:()Z
ifne 4
6: aload 3
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 sourceLines Ljava/lang/String;
1 7 1 patternArguments Ljava/util/regex/Pattern;
2 7 2 matcher Ljava/util/regex/Matcher;
3 7 3 args Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
sourceLines
private static boolean hasOption(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc "@option "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sourceLines Ljava/lang/String;
0 1 1 optionName Ljava/lang/String;
MethodParameters:
Name Flags
sourceLines
optionName
private static void setTestGlobals(org.graalvm.polyglot.Context, boolean);
descriptor: (Lorg/graalvm/polyglot/Context;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "js"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 1: aload 2
ldc "OptionNashornCompat"
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 0
invokestatic com.oracle.truffle.js.test.polyglot.PolyglotBuiltinTest.addTestPolyglotBuiltins:(Lorg/graalvm/polyglot/Context;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/graalvm/polyglot/Context;
0 4 1 inNashornMode Z
1 4 2 globalBindings Lorg/graalvm/polyglot/Value;
MethodParameters:
Name Flags
context
inNashornMode
public static void runInMain(java.lang.Class<?>, java.lang.String[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new org.junit.runner.JUnitCore
dup
invokespecial org.junit.runner.JUnitCore.<init>:()V
astore 2
start local 2 1: aload 2
new org.junit.internal.TextListener
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial org.junit.internal.TextListener.<init>:(Ljava/io/PrintStream;)V
invokevirtual org.junit.runner.JUnitCore.addListener:(Lorg/junit/runner/notification/RunListener;)V
2: new com.oracle.truffle.js.test.suite.JSTestRunner
dup
aload 0
invokespecial com.oracle.truffle.js.test.suite.JSTestRunner.<init>:(Ljava/lang/Class;)V
astore 3
start local 3 3: aload 1
arraylength
ifle 5
4: aload 3
new com.oracle.truffle.js.test.suite.JSTestRunner$NameFilter
dup
aload 1
iconst_0
aaload
invokespecial com.oracle.truffle.js.test.suite.JSTestRunner$NameFilter.<init>:(Ljava/lang/String;)V
invokevirtual com.oracle.truffle.js.test.suite.JSTestRunner.filter:(Lorg/junit/runner/manipulation/Filter;)V
5: StackMap locals: org.junit.runner.JUnitCore com.oracle.truffle.js.test.suite.JSTestRunner
StackMap stack:
aload 2
aload 3
invokevirtual org.junit.runner.JUnitCore.run:(Lorg/junit/runner/Runner;)Lorg/junit/runner/Result;
astore 4
start local 4 6: aload 4
invokevirtual org.junit.runner.Result.wasSuccessful:()Z
ifne 8
7: iconst_1
invokestatic java.lang.System.exit:(I)V
8: StackMap locals: org.junit.runner.Result
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 testClass Ljava/lang/Class<*>;
0 9 1 args [Ljava/lang/String;
1 9 2 core Lorg/junit/runner/JUnitCore;
3 9 3 suite Lcom/oracle/truffle/js/test/suite/JSTestRunner;
6 9 4 r Lorg/junit/runner/Result;
Exceptions:
throws org.junit.runners.model.InitializationError, org.junit.runner.manipulation.NoTestsRemainException
Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
MethodParameters:
Name Flags
testClass
args
protected org.junit.runner.Description describeChild(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/junit/runner/Description;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.js.test.suite.JSTestRunner$TestCase
invokevirtual com.oracle.truffle.js.test.suite.JSTestRunner.describeChild:(Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;)Lorg/junit/runner/Description;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected void runChild(java.lang.Object, org.junit.runner.notification.RunNotifier);
descriptor: (Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.oracle.truffle.js.test.suite.JSTestRunner$TestCase
aload 2
invokevirtual com.oracle.truffle.js.test.suite.JSTestRunner.runChild:(Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;Lorg/junit/runner/notification/RunNotifier;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/junit/runners/ParentRunner<Lcom/oracle/truffle/js/test/suite/JSTestRunner$TestCase;>;
SourceFile: "JSTestRunner.java"
NestMembers:
com.oracle.truffle.js.test.suite.JSTestRunner$1 com.oracle.truffle.js.test.suite.JSTestRunner$NameFilter com.oracle.truffle.js.test.suite.JSTestRunner$TestCase
InnerClasses:
com.oracle.truffle.js.test.suite.JSTestRunner$1
private final NameFilter = com.oracle.truffle.js.test.suite.JSTestRunner$NameFilter of com.oracle.truffle.js.test.suite.JSTestRunner
TestCase = com.oracle.truffle.js.test.suite.JSTestRunner$TestCase of com.oracle.truffle.js.test.suite.JSTestRunner
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source