public class com.oracle.truffle.api.test.source.SourceBuilderTest extends com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.source.SourceBuilderTest
super_class: com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.test.polyglot.AbstractPolyglotTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
public void testBinarySourcesUnavailableSourceSection();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: iconst_4
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_2
bastore
dup
iconst_2
iconst_3
bastore
dup
iconst_3
iconst_4
bastore
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 1
start local 1 1: ldc ""
aload 1
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 3: ldc ""
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: lconst_0
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: lconst_0
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: lconst_0
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: lconst_1
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndColumn:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: lconst_1
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: lconst_1
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
10: lconst_1
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: aload 2
aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 13 1 sequence Lorg/graalvm/polyglot/io/ByteSequence;
2 13 2 source Lcom/oracle/truffle/api/source/Source;
3 13 3 section Lcom/oracle/truffle/api/source/SourceSection;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBinarySources();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: iconst_4
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_2
bastore
dup
iconst_2
iconst_3
bastore
dup
iconst_3
iconst_4
bastore
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 1
start local 1 1: ldc ""
aload 1
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
4: ldc 4
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$0(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
6: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$1(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
7: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$2(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
8: aload 2
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 9: aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
10: aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
ifne 11
iconst_1
goto 12
StackMap locals: org.graalvm.polyglot.io.ByteSequence com.oracle.truffle.api.source.Source com.oracle.truffle.api.source.SourceSection
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: invokestatic org.junit.Assert.assertTrue:(Z)V
13: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$3(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
14: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$4(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
15: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$5(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
16: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$6(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
17: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$7(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
18: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$8(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
19: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$9(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
20: aload 2
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$10(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
21: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
22: ldc ""
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
23: aload 1
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
24: ldc "Unnamed"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
25: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
26: ldc "truffle:9f64a747e1b97f131fabb6b447296c9b6f0201e79fb3c5356e6c77e89b6a806a/Unnamed"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 28 1 sequence Lorg/graalvm/polyglot/io/ByteSequence;
2 28 2 source Lcom/oracle/truffle/api/source/Source;
9 28 3 section Lcom/oracle/truffle/api/source/SourceSection;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMimeTypes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: bipush 8
newarray 8
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 1
start local 1 2: ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aconst_null
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
3: invokedynamic call()Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$11()Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/IllegalArgumentException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
4: invokedynamic call()Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$12()Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/IllegalArgumentException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
5: invokedynamic call()Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$13()Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/IllegalArgumentException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
6: invokedynamic call()Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$14()Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/IllegalArgumentException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
7: ldc "text/a"
ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "text/a"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "application/a"
ldc ""
aload 1
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "application/a"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 10 1 bytes Lorg/graalvm/polyglot/io/ByteSequence;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuildBinarySources();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: bipush 8
newarray 8
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 1
start local 1 2: ldc ""
aload 1
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: ldc ""
ldc ""
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.content:(Lorg/graalvm/polyglot/io/ByteSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
6: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
8: ldc ""
aload 1
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc ""
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
9: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
10: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
11: ldc "Hello"
ldc ".bin"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 3
start local 3 12: aload 3
invokevirtual java.io.File.deleteOnExit:()V
13: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 14: ldc ""
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
15: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
16: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
17: ldc ""
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Lorg/graalvm/polyglot/io/ByteSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
18: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
19: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
20: ldc ""
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc ""
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
21: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
22: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 24 1 bytes Lorg/graalvm/polyglot/io/ByteSequence;
3 24 2 source Lcom/oracle/truffle/api/source/Source;
12 24 3 file Ljava/io/File;
14 24 4 truffleFile Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNoContentSource();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "some/path"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 2: new java.net.URI
dup
ldc "some/path"
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 2
start local 2 3: ldc ""
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
getstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: aload 3
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getFileNameSeparator:()Ljava/lang/String;
iconst_2
anewarray java.lang.CharSequence
dup
iconst_0
ldc "some"
aastore
dup
iconst_1
ldc "path"
aastore
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "path"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 2
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.isAbsolute:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
10: aload 3
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$15(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
11: aload 3
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$16(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
12: aload 3
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$17(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
13: ldc "Test"
ldc ".java"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createTempFile:(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.LinkOption
invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
astore 4
start local 4 14: aload 4
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.deleteOnExit:()V
15: ldc "// Test"
astore 5
start local 5 16: aload 4
aload 5
ldc "UTF-8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
pop
17: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 4
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
18: ldc ""
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
getstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "text/x-java"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 19: aload 6
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
20: aload 6
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
21: new java.lang.StringBuilder
dup
aload 4
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " x "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
new java.io.File
dup
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.isSameFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
22: aload 4
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
23: aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.toString:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.isAbsolute:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
24: aload 6
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$18(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
25: aload 6
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$19(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
26: aload 6
invokedynamic call(Lcom/oracle/truffle/api/source/Source;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/api/test/source/SourceBuilderTest.lambda$20(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
27: 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 28 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 28 1 truffleFile Lcom/oracle/truffle/api/TruffleFile;
3 28 2 uri Ljava/net/URI;
4 28 3 source Lcom/oracle/truffle/api/source/Source;
14 28 4 tempFile Ljava/nio/file/Path;
16 28 5 content Ljava/lang/String;
19 28 6 source2 Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void testRelativeSourceWithContent();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getCurrentWorkingDirectory:()Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 2: ldc "Test.java"
astore 2
start local 2 3: aload 1
aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 4: ldc "// Test"
astore 4
start local 4 5: aconst_null
astore 5
aconst_null
astore 6
6: aload 3
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.newByteChannel:(Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
astore 7
start local 7 7: aload 7
aload 4
ldc "UTF-8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokeinterface java.nio.channels.SeekableByteChannel.write:(Ljava/nio/ByteBuffer;)I
pop
8: aload 7
ifnull 14
aload 7
invokeinterface java.nio.channels.SeekableByteChannel.close:()V
goto 14
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile java.lang.String com.oracle.truffle.api.TruffleFile java.lang.String java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel
StackMap stack: java.lang.Throwable
9: astore 5
aload 7
ifnull 10
aload 7
invokeinterface java.nio.channels.SeekableByteChannel.close:()V
end local 7 StackMap locals:
StackMap stack:
10: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 6
aload 5
ifnonnull 12
aload 6
astore 5
goto 13
StackMap locals:
StackMap stack:
12: aload 5
aload 6
if_acmpeq 13
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 5
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 5
start local 5 15: ldc ""
aload 5
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 16: aload 6
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
17: aload 6
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
18: aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.toString:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.isAbsolute:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
19: aload 4
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 20: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
22: aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
23: aload 8
athrow
24: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 26 1 cwd Lcom/oracle/truffle/api/TruffleFile;
3 26 2 relativeName Ljava/lang/String;
4 26 3 file Lcom/oracle/truffle/api/TruffleFile;
5 26 4 content Ljava/lang/String;
7 10 7 c Ljava/nio/channels/SeekableByteChannel;
15 20 5 relativeFile Lcom/oracle/truffle/api/TruffleFile;
16 20 6 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
7 8 9 any
6 11 11 any
5 21 21 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void assignMimeTypeAndIdentity();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "lang"
ldc "// a comment\n"
ldc "Empty comment"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
astore 1
start local 1 1: aload 1
ldc "text/unknown"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 2: ldc "No mime type assigned"
ldc "text/unknown"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 1
ldc "text/x-c"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: ldc "They have the same content"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "But different type"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "So they are different"
aload 2
aload 3
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "Every source must have URI"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
8: ldc "Source with different MIME type has the same URI"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 10 1 builder Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
2 10 2 s1 Lcom/oracle/truffle/api/source/Source;
4 10 3 s2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void assignMimeTypeAndIdentityForReader();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: ldc "// Hello"
astore 1
start local 1 1: ldc "lang"
new java.io.StringReader
dup
aload 1
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
ldc "test.txt"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 2
start local 2 2: aload 2
ldc "Hello"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "text/plain"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 3: ldc "Base type assigned"
ldc "text/plain"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 2
ldc "text/x-c"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 5: ldc "They have the same content"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "// Hello"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "But different type"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "So they are different"
aload 3
aload 4
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "Every source must have URI"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
10: ldc "Source with different MIME type has the same URI"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 12 1 text Ljava/lang/String;
2 12 2 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
3 12 3 s1 Lcom/oracle/truffle/api/source/Source;
5 12 4 s2 Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void assignMimeTypeAndIdentityForFile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: ldc "// Hello"
astore 2
start local 2 6: aload 5
aload 2
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
7: aload 5
ifnull 13
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 13
end local 2 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
8: astore 3
aload 5
ifnull 9
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
9: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
aload 3
ifnonnull 11
aload 4
astore 3
goto 12
StackMap locals:
StackMap stack:
11: aload 3
aload 4
if_acmpeq 12
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 3
athrow
start local 2 13: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.io.File.getParent:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc ".."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 14: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 15: ldc "Exists, as it is the same file"
aload 4
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
16: ldc "lang"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "text/x-java"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 5
start local 5 17: aload 5
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 18: ldc "Path is cannonicalized"
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
19: ldc "Name is short"
aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: ldc "Recognized as Java"
ldc "text/x-java"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
21: aload 5
ldc "text/x-c"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 7
start local 7 22: ldc "They have the same content"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 7
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
23: ldc "// Hello"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
24: ldc "But different type"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 7
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
25: ldc "So they are different"
aload 6
aload 7
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
26: ldc "File URI is used from cannonicalized form"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
27: ldc "Sources with different MIME type has the same URI"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 7
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
28: 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 29 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 29 1 file Ljava/io/File;
6 8 2 text Ljava/lang/String;
13 29 2 text Ljava/lang/String;
5 9 5 w Ljava/io/FileWriter;
14 29 3 nonCannonical Ljava/lang/String;
15 29 4 nonCannonicalFile Lcom/oracle/truffle/api/TruffleFile;
17 29 5 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
18 29 6 s1 Lcom/oracle/truffle/api/source/Source;
22 29 7 s2 Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 7 8 any
4 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void mimeTypeIsDetectedRandomBytes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".bin"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 2
aconst_null
astore 3
4: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 5: aload 4
iconst_4
invokevirtual java.io.FileOutputStream.write:(I)V
6: aload 4
iconst_5
invokevirtual java.io.FileOutputStream.write:(I)V
7: aload 4
ifnull 13
aload 4
invokevirtual java.io.FileOutputStream.close:()V
goto 13
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
8: astore 2
aload 4
ifnull 9
aload 4
invokevirtual java.io.FileOutputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
9: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 3
aload 2
ifnonnull 11
aload 3
astore 2
goto 12
StackMap locals:
StackMap stack:
11: aload 2
aload 3
if_acmpeq 12
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 14: ldc "lang"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 15: aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
iconst_4
anewarray java.lang.String
dup
iconst_0
aconst_null
aastore
dup
iconst_1
ldc "application/octet-stream"
aastore
dup
iconst_2
ldc "text/plain"
aastore
dup
iconst_3
ldc "application/macbinary"
aastore
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertEither:(Ljava/lang/String;[Ljava/lang/String;)V
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 17 1 file Ljava/io/File;
5 9 4 w Ljava/io/FileOutputStream;
14 17 2 truffleFile Lcom/oracle/truffle/api/TruffleFile;
15 17 3 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 7 8 any
4 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void mimeTypeIsDetectedRandomBytesForURI();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".bin"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 2
aconst_null
astore 3
4: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 5: aload 4
iconst_4
invokevirtual java.io.FileOutputStream.write:(I)V
6: aload 4
iconst_5
invokevirtual java.io.FileOutputStream.write:(I)V
7: aload 4
ifnull 13
aload 4
invokevirtual java.io.FileOutputStream.close:()V
goto 13
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
8: astore 2
aload 4
ifnull 9
aload 4
invokevirtual java.io.FileOutputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
9: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 3
aload 2
ifnonnull 11
aload 3
astore 2
goto 12
StackMap locals:
StackMap stack:
11: aload 2
aload 3
if_acmpeq 12
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
ldc "lang"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 14: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 16 1 file Ljava/io/File;
5 9 4 w Ljava/io/FileOutputStream;
14 16 2 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 7 8 any
4 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void ioExceptionWhenFileDoesntExist();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.delete:()Z
pop
3: ldc "Doesn't exist"
aload 1
invokevirtual java.io.File.exists:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
4: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 5: ldc "lang"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: aload 3
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
8: goto 11
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.source.Source$SourceBuilder com.oracle.truffle.api.source.Source
StackMap stack: java.io.IOException
9: pop
10: return
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "No source should be created: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 13 1 file Ljava/io/File;
5 13 2 truffleFile Lcom/oracle/truffle/api/TruffleFile;
6 13 3 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
7 13 4 s1 Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
7 8 9 Class java.io.IOException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void ioExceptionWhenReaderThrowsIt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
astore 1
start local 1 1: new com.oracle.truffle.api.test.source.SourceBuilderTest$1
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.test.source.SourceBuilderTest$1.<init>:(Lcom/oracle/truffle/api/test/source/SourceBuilderTest;Ljava/io/IOException;)V
astore 2
start local 2 2: ldc "lang"
aload 2
ldc "unloadable.txt"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 3
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
5: new java.lang.StringBuilder
dup
ldc "No source should be created: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
6: goto 9
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.IOException java.io.Reader com.oracle.truffle.api.source.Source$SourceBuilder com.oracle.truffle.api.source.Source
StackMap stack: java.io.IOException
7: astore 5
start local 5 8: aload 1
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 9: StackMap locals:
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 10 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 10 1 ioEx Ljava/io/IOException;
2 10 2 reader Ljava/io/Reader;
3 10 3 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
4 10 4 s1 Lcom/oracle/truffle/api/source/Source;
8 9 5 e Ljava/io/IOException;
Exception table:
from to target type
4 6 7 Class java.io.IOException
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void assignMimeTypeAndIdentityForVirtualFile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 4: ldc "// Hello"
astore 3
start local 3 5: ldc "java"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 3
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "text/x-java"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
astore 4
start local 4 6: aload 4
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 7: ldc "Recognized as Java"
ldc "text/x-java"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 4
ldc "text/x-c"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 9: ldc "They have the same content"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: ldc "// Hello"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: ldc "But different type"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
12: ldc "So they are different"
aload 5
aload 6
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: ldc "File URI"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: ldc "Source with different MIME type has the same URI"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
15: 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 16 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 16 1 file Ljava/io/File;
4 16 2 truffleFile Lcom/oracle/truffle/api/TruffleFile;
5 16 3 text Ljava/lang/String;
6 16 4 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
7 16 5 s1 Lcom/oracle/truffle/api/source/Source;
9 16 6 s2 Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void noIOWhenContentSpecified();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.io.File
dup
ldc "some.tjs"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 2: ldc "// Hello"
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 4: ldc "lang"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 2
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "text/javascript"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 5: ldc "The content has been changed"
aload 2
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "Mime type specified"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
7: ldc "Recognized as JavaScript"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
ldc "text/javascript"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
8: ldc "some.tjs"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 10 1 file Ljava/io/File;
3 10 2 text Ljava/lang/String;
4 10 3 truffleFile Lcom/oracle/truffle/api/TruffleFile;
5 10 4 source Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void fromTextWithFileURI();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.io.File
dup
ldc "some.tjs"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: ldc "// Hello"
astore 2
start local 2 2: ldc "lang"
aload 2
ldc "another.tjs"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.uri:(Ljava/net/URI;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 3: ldc "The content has been changed"
aload 2
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: ldc "Mime type not specified"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
5: ldc "Null MIME type"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/String;Ljava/lang/Object;)V
6: ldc "another.tjs"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "Using the specified URI"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 9 1 file Ljava/io/File;
2 9 2 text Ljava/lang/String;
3 9 3 source Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void assignMimeTypeAndIdentityForURL();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "Hello"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: ldc "// Hello"
astore 2
start local 2 6: aload 5
aload 2
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
7: aload 5
ifnull 13
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 13
end local 2 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
8: astore 3
aload 5
ifnull 9
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
9: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
aload 3
ifnonnull 11
aload 4
astore 3
goto 12
StackMap locals:
StackMap stack:
11: aload 3
aload 4
if_acmpeq 12
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 3
athrow
start local 2 13: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String
StackMap stack:
ldc "TestJava"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "Hello.java"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;)Ljava/lang/String;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 3
start local 3 14: aload 3
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 15: ldc "Recognized as Java"
ldc "text/x-java"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
16: aload 3
ldc "text/x-c"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 17: ldc "They have the same content"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
18: ldc "// Hello"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: ldc "But different type"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: ldc "So they are different"
aload 4
aload 5
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
21: ldc "File URI"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
22: ldc "Source with different MIME type has the same URI"
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
23: return
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 24 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 24 1 file Ljava/io/File;
6 8 2 text Ljava/lang/String;
13 24 2 text Ljava/lang/String;
5 9 5 w Ljava/io/FileWriter;
14 24 3 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
15 24 4 s1 Lcom/oracle/truffle/api/source/Source;
17 24 5 s2 Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 7 8 any
4 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void literalSources();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "lang"
ldc "test code"
ldc "test description"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "test description"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
ldc "lang"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
ldc "test description"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
ldc "test code"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
6: ldc "Every source must have URI"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
7: ldc "test code"
invokevirtual java.lang.String.length:()I
newarray 5
astore 2
start local 2 8: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getReader:()Ljava/io/Reader;
aload 2
invokevirtual java.io.Reader.read:([C)I
i2l
ldc "test code"
invokevirtual java.lang.String.length:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([C)V
ldc "test code"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 11 1 literal Lcom/oracle/truffle/api/source/Source;
8 11 2 buffer [C
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void clientManagedSourceChange();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "test.input"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 2: ldc "lang"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "test\ntest"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
ldc "test\ntest"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 2
ldc "test\ntest"
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual com.oracle.truffle.api.source.Source.getLineNumber:(I)I
i2l
ldc 2
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: ldc "lang"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "test\ntest\nlonger\ntest"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 6: aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
ldc "test\ntest\nlonger\ntest"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 3
ldc "test\ntest\nlonger\ntest"
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual com.oracle.truffle.api.source.Source.getLineNumber:(I)I
i2l
ldc 4
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: ldc "File URI"
new java.io.File
dup
ldc "test.input"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: ldc "File sources with different content have the same URI"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 11 1 truffleFile Lcom/oracle/truffle/api/TruffleFile;
3 11 2 source1 Lcom/oracle/truffle/api/source/Source;
6 11 3 source2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void clientManagedSourceChangeAbsolute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.io.File
dup
ldc "test.input"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 1
start local 1 2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 3: ldc "lang"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "test\ntest"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
ldc "test\ntest"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 3
ldc "test\ntest"
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual com.oracle.truffle.api.source.Source.getLineNumber:(I)I
i2l
ldc 2
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: ldc "lang"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "test\ntest\nlonger\ntest"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 7: aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
ldc "test\ntest\nlonger\ntest"
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 4
ldc "test\ntest\nlonger\ntest"
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual com.oracle.truffle.api.source.Source.getLineNumber:(I)I
i2l
ldc 4
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: ldc "File URI"
new java.io.File
dup
ldc "test.input"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: ldc "File sources with different content have the same URI"
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 12 1 path Ljava/lang/String;
3 12 2 truffleFile Lcom/oracle/truffle/api/TruffleFile;
4 12 3 source1 Lcom/oracle/truffle/api/source/Source;
7 12 4 source2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void jarURLGetsAName();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "sample"
ldc ".jar"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: new java.util.jar.JarOutputStream
dup
new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 4: aload 2
new java.util.zip.ZipEntry
dup
ldc "x.tjs"
invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
invokevirtual java.util.jar.JarOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
5: ldc "Hi!"
ldc "UTF-8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 3
start local 3 6: aload 2
aload 3
invokevirtual java.util.jar.JarOutputStream.write:([B)V
7: aload 2
invokevirtual java.util.jar.JarOutputStream.closeEntry:()V
8: aload 2
invokevirtual java.util.jar.JarOutputStream.close:()V
9: new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "jar:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "!/x.tjs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 4
start local 4 10: ldc "Resource found"
aload 4
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
11: ldc "JAR protocol"
ldc "jar"
aload 4
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
12: ldc "TestJS"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 13: aload 4
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 3
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokeinterface org.graalvm.polyglot.io.ByteSequence.toByteArray:()[B
invokestatic org.junit.Assert.assertArrayEquals:([B[B)V
15: ldc "x.tjs"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "!/x.tjs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
17: aload 1
invokevirtual java.io.File.delete:()Z
pop
18: return
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 19 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 19 1 sample Ljava/io/File;
4 19 2 os Ljava/util/jar/JarOutputStream;
6 19 3 bytes [B
10 19 4 resource Ljava/net/URL;
13 19 5 s Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testHttpURL();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.net.URL
dup
ldc "http://example.org/test/File.html"
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 1
start local 1 2: ldc "TestJS"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "Empty"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 1
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 1
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "File.html"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: ldc "/test/File.html"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "Empty"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 9 1 resource Ljava/net/URL;
3 9 2 s Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.io.IOException, java.net.URISyntaxException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromSourceLiteral();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 20
2: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 18
4: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 16
6: StackMap locals: int
StackMap stack:
ldc "lang"
ldc "test code"
ldc "test description"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iload 1
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder
7: iconst_0
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest int int int
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder int
8: invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.cached:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iload 2
ifeq 9
iconst_1
goto 10
StackMap locals:
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder
9: iconst_0
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest int int int
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder int
10: invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.interactive:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iload 3
ifeq 11
iconst_1
goto 12
StackMap locals:
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder
11: iconst_0
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest int int int
StackMap stack: com.oracle.truffle.api.source.Source$LiteralBuilder int
12: invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "text/test"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 13: aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 14: aload 4
aload 5
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
end local 5 end local 4 15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
iconst_1
if_icmple 6
end local 3 17: iinc 2 1
StackMap locals:
StackMap stack:
18: iload 2
iconst_1
if_icmple 4
end local 2 19: iinc 1 1
StackMap locals:
StackMap stack:
20: iload 1
iconst_1
if_icmple 2
end local 1 21: ldc "lang"
ldc "test code"
ldc "test description"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
22: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 21 1 cached I
3 19 2 interactive I
5 17 3 internal I
13 15 4 literal1 Lcom/oracle/truffle/api/source/Source;
14 15 5 literal2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromBinarySource();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_2
bastore
dup
iconst_2
iconst_3
bastore
dup
iconst_3
iconst_4
bastore
dup
iconst_4
iconst_5
bastore
dup
iconst_5
bipush 6
bastore
dup
bipush 6
bipush 7
bastore
dup
bipush 7
bipush 8
bastore
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 1
start local 1 2: ldc "Lang"
aload 1
ldc "testName"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
5: aload 2
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 7 1 bytes Lorg/graalvm/polyglot/io/ByteSequence;
3 7 2 source1 Lcom/oracle/truffle/api/source/Source;
4 7 3 source2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromSourceReader();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.io.StringReader
dup
ldc "test\ncode"
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
astore 1
start local 1 2: ldc "Lang"
aload 1
ldc "testName"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
5: aload 2
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 7 1 reader Ljava/io/StringReader;
3 7 2 source1 Lcom/oracle/truffle/api/source/Source;
4 7 3 source2 Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromSourceFile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.io.File
dup
ldc "some.tjs"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 3: ldc "Lang"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "Empty"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 5: aload 3
aload 4
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
6: aload 3
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 8 1 file Ljava/io/File;
3 8 2 truffleFile Lcom/oracle/truffle/api/TruffleFile;
4 8 3 source1 Lcom/oracle/truffle/api/source/Source;
5 8 4 source2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromSourceURL();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: new java.net.URL
dup
ldc "http://example.org/test/File.html"
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 1
start local 1 2: ldc "Lang"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "Empty"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
5: aload 2
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 7 1 resource Ljava/net/URL;
3 7 2 source1 Lcom/oracle/truffle/api/source/Source;
4 7 3 source2 Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBuiltFromNoContentSource();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "some/path"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 2: ldc "Lang"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
getstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 2
aload 3
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertSameProperties:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
5: aload 2
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.assertNewSourceChanged:(Lcom/oracle/truffle/api/source/Source;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 7 1 truffleFile Lcom/oracle/truffle/api/TruffleFile;
3 7 2 source1 Lcom/oracle/truffle/api/source/Source;
4 7 3 source2 Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertSameProperties(com.oracle.truffle.api.source.Source, com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 5
3: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
i2l
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 8
6: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokeinterface org.graalvm.polyglot.io.ByteSequence.toByteArray:()[B
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokeinterface org.graalvm.polyglot.io.ByteSequence.toByteArray:()[B
invokestatic org.junit.Assert.assertArrayEquals:([B[B)V
7: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
i2l
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 0
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: aload 0
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 s1 Lcom/oracle/truffle/api/source/Source;
0 17 1 s2 Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
s1
s2
private static void assertNewSourceChanged(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "New Test Name"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: ldc "truffle"
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: StackMap locals: com.oracle.truffle.api.source.Source
StackMap stack:
aload 0
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "New Content"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
5: aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
6: ldc "New Content"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: ldc "truffle"
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 s1 Lcom/oracle/truffle/api/source/Source;
1 10 1 s2 Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
s1
public void whatAreTheDefaultValuesOfNewFromReader();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.io.StringReader
dup
ldc "Hi!"
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: ldc "lang"
aload 1
ldc "almostEmpty"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 2: ldc "Hi!"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: ldc "almostEmpty"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: ldc "lang"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
6: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
7: ldc "URI ends with the name"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.toString:()Ljava/lang/String;
ldc "almostEmpty"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
8: ldc "truffle"
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
10: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 12 1 r Ljava/io/StringReader;
2 12 2 source Lcom/oracle/truffle/api/source/Source;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void fileWithReload();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "ChangeMe"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: ldc "// Hello"
astore 2
start local 2 6: aload 5
aload 2
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
7: aload 5
ifnull 13
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 13
end local 2 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
8: astore 3
aload 5
ifnull 9
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
9: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
aload 3
ifnonnull 11
aload 4
astore 3
goto 12
StackMap locals:
StackMap stack:
11: aload 3
aload 4
if_acmpeq 12
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 3
athrow
start local 2 13: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 14: ldc "lang"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 15: aload 2
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: aconst_null
astore 6
aconst_null
astore 7
17: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 8
start local 8 18: ldc "// Hello World!"
astore 5
start local 5 19: aload 8
aload 5
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
20: aload 8
ifnull 26
aload 8
invokevirtual java.io.FileWriter.close:()V
goto 26
end local 5 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.source.Source top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
21: astore 6
aload 8
ifnull 22
aload 8
invokevirtual java.io.FileWriter.close:()V
end local 8 StackMap locals:
StackMap stack:
22: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 7
aload 6
ifnonnull 24
aload 7
astore 6
goto 25
StackMap locals:
StackMap stack:
24: aload 6
aload 7
if_acmpeq 25
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 6
athrow
start local 5 26: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.source.Source java.lang.String
StackMap stack:
ldc "lang"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 27: aload 4
aload 6
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
28: ldc "New source has the new text"
aload 5
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
29: ldc "Old source1 remains unchanged"
aload 2
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
30: 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 31 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 31 1 file Ljava/io/File;
6 8 2 text Ljava/lang/String;
13 31 2 text Ljava/lang/String;
5 9 5 w Ljava/io/FileWriter;
14 31 3 truffleFile Lcom/oracle/truffle/api/TruffleFile;
15 31 4 original Lcom/oracle/truffle/api/source/Source;
19 21 5 newText Ljava/lang/String;
26 31 5 newText Ljava/lang/String;
18 22 8 w Ljava/io/FileWriter;
27 31 6 reloaded Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 7 8 any
4 10 10 any
18 20 21 any
17 23 23 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void normalSourceIsNotInter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "lang"
ldc "anything"
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: ldc "Not internal"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
2: ldc "Not interactive"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 4 1 source Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void markSourceAsInternal();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "lang"
ldc "anything"
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: ldc "This source is internal"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 3 1 source Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void markSourceAsInteractive();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "lang"
ldc "anything"
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.interactive:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: ldc "This source is interactive"
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 3 1 source Lcom/oracle/truffle/api/source/Source;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testEncodingTruffleFile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: ldc "\u017E\u0161\u010D\u0159\u010F\u0165\u0148\u00E1\u00E9\u00ED\u00F3\u00FA\u016F\u00FD"
astore 1
start local 1 1: ldc "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n<!DOCTYPE foo PUBLIC \"foo\">\n<content>\u017E\u0161\u010D\u0159\u010F\u0165\u0148\u00E1\u00E9\u00ED\u00F3\u00FA\u016F\u00FD</content>"
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
3: ldc "test"
ldc ".txt"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 6: aload 6
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
7: aload 6
ifnull 13
aload 6
invokevirtual java.io.FileOutputStream.close:()V
goto 13
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual java.io.FileOutputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 14: ldc "lang"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.encoding:(Ljava/nio/charset/Charset;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 15: aload 1
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
16: ldc "test"
ldc ".xml"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
17: aconst_null
astore 6
aconst_null
astore 7
18: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 8
start local 8 19: aload 8
aload 2
ldc "windows-1250"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
20: aload 8
ifnull 26
aload 8
invokevirtual java.io.FileOutputStream.close:()V
goto 26
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.source.Source java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
21: astore 6
aload 8
ifnull 22
aload 8
invokevirtual java.io.FileOutputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
22: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 7
aload 6
ifnonnull 24
aload 7
astore 6
goto 25
StackMap locals:
StackMap stack:
24: aload 6
aload 7
if_acmpeq 25
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 6
athrow
26: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
27: ldc "lang"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
28: aload 2
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
29: ldc "test"
ldc ".txt"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
30: aconst_null
astore 6
aconst_null
astore 7
31: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 8
start local 8 32: aload 8
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
33: aload 8
ifnull 39
aload 8
invokevirtual java.io.FileOutputStream.close:()V
goto 39
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.source.Source java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
34: astore 6
aload 8
ifnull 35
aload 8
invokevirtual java.io.FileOutputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
35: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 7
aload 6
ifnonnull 37
aload 7
astore 6
goto 38
StackMap locals:
StackMap stack:
37: aload 6
aload 7
if_acmpeq 38
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 6
athrow
39: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
40: ldc "lang"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
41: aload 1
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
42: return
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 43 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 43 1 content Ljava/lang/String;
2 43 2 xmlContent Ljava/lang/String;
4 43 3 testFile Ljava/io/File;
6 9 6 out Ljava/io/FileOutputStream;
14 43 4 file Lcom/oracle/truffle/api/TruffleFile;
15 43 5 src Lcom/oracle/truffle/api/source/Source;
19 22 8 out Ljava/io/FileOutputStream;
32 35 8 out Ljava/io/FileOutputStream;
Exception table:
from to target type
6 7 8 any
5 10 10 any
19 20 21 any
18 23 23 any
32 33 34 any
31 36 36 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testEncodingURL();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: ldc "\u017E\u0161\u010D\u0159\u010F\u0165\u0148\u00E1\u00E9\u00ED\u00F3\u00FA\u016F\u00FD"
astore 1
start local 1 1: ldc "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n<!DOCTYPE foo PUBLIC \"foo\">\n<content>\u017E\u0161\u010D\u0159\u010F\u0165\u0148\u00E1\u00E9\u00ED\u00F3\u00FA\u016F\u00FD</content>"
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
3: ldc "test"
ldc ".txt"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 6: aload 6
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
7: aload 6
ifnull 13
aload 6
invokevirtual java.io.FileOutputStream.close:()V
goto 13
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual java.io.FileOutputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
ldc "lang"
aload 3
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.encoding:(Ljava/nio/charset/Charset;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 14: aload 1
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: ldc "test"
ldc ".xml"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
16: aconst_null
astore 5
aconst_null
astore 6
17: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 18: aload 7
aload 2
ldc "windows-1250"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
19: aload 7
ifnull 25
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 25
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File com.oracle.truffle.api.source.Source java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
20: astore 5
aload 7
ifnull 21
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
21: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 6
aload 5
ifnonnull 23
aload 6
astore 5
goto 24
StackMap locals:
StackMap stack:
23: aload 5
aload 6
if_acmpeq 24
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 5
athrow
25: StackMap locals:
StackMap stack:
ldc "lang"
aload 3
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
26: aload 2
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
27: ldc "test"
ldc ".txt"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
astore 3
28: aconst_null
astore 5
aconst_null
astore 6
29: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 30: aload 7
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.FileOutputStream.write:([B)V
31: aload 7
ifnull 37
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 37
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.lang.String java.lang.String java.io.File com.oracle.truffle.api.source.Source java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
32: astore 5
aload 7
ifnull 33
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
33: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 6
aload 5
ifnonnull 35
aload 6
astore 5
goto 36
StackMap locals:
StackMap stack:
35: aload 5
aload 6
if_acmpeq 36
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: aload 5
athrow
37: StackMap locals:
StackMap stack:
ldc "lang"
aload 3
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
38: aload 1
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
39: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 40 1 content Ljava/lang/String;
2 40 2 xmlContent Ljava/lang/String;
4 40 3 testFile Ljava/io/File;
6 9 6 out Ljava/io/FileOutputStream;
14 40 4 src Lcom/oracle/truffle/api/source/Source;
18 21 7 out Ljava/io/FileOutputStream;
30 33 7 out Ljava/io/FileOutputStream;
Exception table:
from to target type
6 7 8 any
5 10 10 any
18 19 20 any
17 22 22 any
30 31 32 any
29 34 34 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void subSourceHashAndEquals();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: ldc "lang"
ldc "One Two Three"
ldc "counting.en"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 1
start local 1 1: aload 1
iconst_0
iconst_3
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 2: aload 1
iconst_4
iconst_3
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 3: aload 1
bipush 8
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
bipush 8
isub
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 4: aload 1
iconst_0
iconst_3
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 5: aload 1
iconst_4
iconst_3
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 6: aload 1
bipush 8
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
bipush 8
isub
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 7
start local 7 7: new java.lang.StringBuilder
dup
ldc "One: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " two: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
aload 3
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 4
aload 3
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 2
aload 4
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 5
aload 6
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 2
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 3
aload 6
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 4
aload 7
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 2
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
aload 5
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
15: aload 3
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
aload 6
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: aload 4
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
aload 7
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
18: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
19: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
20: 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 21 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 21 1 src Lcom/oracle/truffle/api/source/Source;
2 21 2 one Lcom/oracle/truffle/api/source/Source;
3 21 3 two Lcom/oracle/truffle/api/source/Source;
4 21 4 three Lcom/oracle/truffle/api/source/Source;
5 21 5 oneSnd Lcom/oracle/truffle/api/source/Source;
6 21 6 twoSnd Lcom/oracle/truffle/api/source/Source;
7 21 7 threeSnd Lcom/oracle/truffle/api/source/Source;
public void subSourceFromTwoFiles();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "subSource"
ldc ".tjs"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
start local 1 2: ldc "subSource"
ldc ".tjs"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 2
start local 2 3: aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: aload 5
ldc "function test() {\n return 1;\n}\n"
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
6: aload 5
ifnull 12
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 12
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
7: astore 3
aload 5
ifnull 8
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
8: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 4
aload 3
ifnonnull 10
aload 4
astore 3
goto 11
StackMap locals:
StackMap stack:
10: aload 3
aload 4
if_acmpeq 11
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 3
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
13: new java.io.FileWriter
dup
aload 2
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 14: aload 5
ldc "function test() {\n return 1;\n}\n"
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
15: aload 5
ifnull 21
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 21
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
16: astore 3
aload 5
ifnull 17
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
17: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 4
aload 3
ifnonnull 19
aload 4
astore 3
goto 20
StackMap locals:
StackMap stack:
19: aload 3
aload 4
if_acmpeq 20
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 3
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 22: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 23: ldc "lang"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 24: ldc "lang"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 25: ldc "Different sources"
aload 5
aload 6
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
26: ldc "But same content"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
27: aload 5
iconst_0
bipush 8
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 7
start local 7 28: aload 6
iconst_0
bipush 8
invokevirtual com.oracle.truffle.api.source.Source.subSource:(II)Lcom/oracle/truffle/api/source/Source;
astore 8
start local 8 29: ldc "Different sub sources"
aload 7
aload 8
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
30: ldc "with the same content"
aload 7
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
aload 8
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
31: ldc "and different hash"
aload 7
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
aload 8
invokevirtual com.oracle.truffle.api.source.Source.hashCode:()I
i2l
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
32: aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
33: aload 5
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 7
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
34: aload 2
invokevirtual java.io.File.toURI:()Ljava/net/URI;
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
35: aload 6
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aload 8
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
36: return
end local 8 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 37 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 37 1 f1 Ljava/io/File;
3 37 2 f2 Ljava/io/File;
5 8 5 w Ljava/io/FileWriter;
14 17 5 w Ljava/io/FileWriter;
22 37 3 truffleFile1 Lcom/oracle/truffle/api/TruffleFile;
23 37 4 truffleFile2 Lcom/oracle/truffle/api/TruffleFile;
24 37 5 s1 Lcom/oracle/truffle/api/source/Source;
25 37 6 s2 Lcom/oracle/truffle/api/source/Source;
28 37 7 sub1 Lcom/oracle/truffle/api/source/Source;
29 37 8 sub2 Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
5 6 7 any
4 9 9 any
14 15 16 any
13 18 18 any
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorNameCannotBeNull();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: ldc "Unnamed"
ldc "lang"
ldc "Hi"
aconst_null
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorIfCharContentIsNull();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "lang"
aconst_null
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
pop
1: ldc "Expecting NullPointerException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
2: goto 4
StackMap locals:
StackMap stack: java.lang.NullPointerException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
Exception table:
from to target type
0 2 3 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorIfByteContentIsNull();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: ldc "lang"
aconst_null
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
pop
2: ldc "Expecting NullPointerException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
3: goto 5
StackMap locals:
StackMap stack: java.lang.NullPointerException
4: pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
Exception table:
from to target type
0 3 4 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorIfLangIsNull1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "foo.bar"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 1: aconst_null
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
pop
2: invokestatic org.junit.Assert.fail:()V
end local 1 3: goto 5
StackMap locals:
StackMap stack: java.lang.NullPointerException
4: pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 3 1 file Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
0 3 4 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorIfLangIsNull2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aconst_null
ldc ""
ldc "name"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
pop
1: invokestatic org.junit.Assert.fail:()V
2: goto 4
StackMap locals:
StackMap stack: java.lang.NullPointerException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
Exception table:
from to target type
0 2 3 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
public void throwsErrorIfLangIsNull3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.net.URL
dup
ldc "file://test.bar"
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aconst_null
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
pop
2: invokestatic org.junit.Assert.fail:()V
end local 1 3: goto 5
StackMap locals:
StackMap stack: java.lang.NullPointerException
4: pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 3 1 url Ljava/net/URL;
Exception table:
from to target type
0 3 4 Class java.lang.NullPointerException
Exceptions:
throws java.net.MalformedURLException
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertEither(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
3: return
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: new java.lang.StringBuilder
dup
ldc "Unexpected MIME type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 mimeType Ljava/lang/String;
0 8 1 expected [Ljava/lang/String;
2 4 2 e Ljava/lang/String;
MethodParameters:
Name Flags
mimeType
expected
public void testFindLaguage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
1: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "test.tjs"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "test.unknown"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 3: ldc "application/test-js"
aload 1
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 2
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 6 1 knownMimeTypeFile Lcom/oracle/truffle/api/TruffleFile;
3 6 2 unknownMimeTypeFile Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNonResolvableURLAllowedIO();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: ldc "Query parameters are not supported by file URLConnection on Windows"
invokestatic com.oracle.truffle.api.test.OSUtils.isWindows:()Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
2: ldc "Test"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 3: aload 1
invokevirtual java.io.File.deleteOnExit:()V
4: aconst_null
astore 3
aconst_null
astore 4
5: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 6: ldc "// Test"
astore 2
start local 2 7: aload 5
aload 2
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
8: aload 5
ifnull 14
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 14
end local 2 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
9: astore 3
aload 5
ifnull 10
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
10: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
aload 3
ifnonnull 12
aload 4
astore 3
goto 13
StackMap locals:
StackMap stack:
12: aload 3
aload 4
if_acmpeq 13
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 3
athrow
start local 2 14: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String
StackMap stack:
ldc "TestJava"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 15: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
16: aload 2
aload 3
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
17: ldc "text/plain"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
3 19 1 file Ljava/io/File;
7 9 2 text Ljava/lang/String;
14 19 2 text Ljava/lang/String;
6 10 5 w Ljava/io/FileWriter;
15 19 3 src Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
6 8 9 any
5 11 11 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNonResolvableURLDeniedIO();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.create:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
1: ldc "Test"
ldc ".java"
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 1
start local 1 2: aload 1
invokevirtual java.io.File.deleteOnExit:()V
3: aconst_null
astore 3
aconst_null
astore 4
4: new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
astore 5
start local 5 5: ldc "// Test"
astore 2
start local 2 6: aload 5
aload 2
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
7: aload 5
ifnull 13
aload 5
invokevirtual java.io.FileWriter.close:()V
goto 13
end local 2 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileWriter
StackMap stack: java.lang.Throwable
8: astore 3
aload 5
ifnull 9
aload 5
invokevirtual java.io.FileWriter.close:()V
end local 5 StackMap locals:
StackMap stack:
9: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
aload 3
ifnonnull 11
aload 4
astore 3
goto 12
StackMap locals:
StackMap stack:
11: aload 3
aload 4
if_acmpeq 12
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 3
athrow
start local 2 13: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest java.io.File java.lang.String
StackMap stack:
ldc "TestJava"
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
pop
14: ldc "Expected SecurityException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
15: goto 17
StackMap locals:
StackMap stack: java.lang.SecurityException
16: pop
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;)Ljava/lang/String;
pop
18: ldc "Expected SecurityException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
19: goto 21
StackMap locals:
StackMap stack: java.lang.SecurityException
20: pop
21: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
2 22 1 file Ljava/io/File;
6 8 2 text Ljava/lang/String;
13 22 2 text Ljava/lang/String;
5 9 5 w Ljava/io/FileWriter;
Exception table:
from to target type
5 7 8 any
4 10 10 any
13 15 16 Class java.lang.SecurityException
17 19 20 Class java.lang.SecurityException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNonResolvableURLCustomFileSystem();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: new com.oracle.truffle.api.test.polyglot.MemoryFileSystem
dup
invokespecial com.oracle.truffle.api.test.polyglot.MemoryFileSystem.<init>:()V
astore 1
start local 1 1: aload 1
ldc "/Test.java"
invokevirtual com.oracle.truffle.api.test.polyglot.MemoryFileSystem.parsePath:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 2: aconst_null
astore 4
aconst_null
astore 5
3: aload 1
aload 2
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.test.polyglot.MemoryFileSystem.newByteChannel:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
astore 6
start local 6 4: ldc "// Test"
astore 3
start local 3 5: aload 6
aload 3
invokevirtual java.lang.String.getBytes:()[B
invokevirtual java.io.OutputStream.write:([B)V
6: aload 6
ifnull 12
aload 6
invokevirtual java.io.OutputStream.close:()V
goto 12
end local 3 StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.test.polyglot.MemoryFileSystem java.nio.file.Path top java.lang.Throwable java.lang.Throwable java.io.OutputStream
StackMap stack: java.lang.Throwable
7: astore 4
aload 6
ifnull 8
aload 6
invokevirtual java.io.OutputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
8: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
aload 4
ifnonnull 10
aload 5
astore 4
goto 11
StackMap locals:
StackMap stack:
10: aload 4
aload 5
if_acmpeq 11
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4
athrow
start local 3 12: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.test.polyglot.MemoryFileSystem java.nio.file.Path java.lang.String
StackMap stack:
aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowIO:(Z)Lorg/graalvm/polyglot/Context$Builder;
aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.fileSystem:(Lorg/graalvm/polyglot/io/FileSystem;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:(Lorg/graalvm/polyglot/Context;)V
13: ldc "TestJava"
aload 2
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
pop
14: ldc "Expected SecurityException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
15: goto 17
StackMap locals:
StackMap stack: java.lang.SecurityException
16: pop
17: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokestatic com.oracle.truffle.api.test.source.SourceBuilderTest.queryURL:(Ljava/net/URI;)Ljava/net/URL;
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;)Ljava/lang/String;
pop
18: ldc "Expected SecurityException"
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
19: goto 21
StackMap locals:
StackMap stack: java.lang.SecurityException
20: pop
21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
1 22 1 fs Lcom/oracle/truffle/api/test/polyglot/MemoryFileSystem;
2 22 2 path Ljava/nio/file/Path;
5 7 3 text Ljava/lang/String;
12 22 3 text Ljava/lang/String;
4 8 6 out Ljava/io/OutputStream;
Exception table:
from to target type
4 6 7 any
3 9 9 any
13 15 16 Class java.lang.SecurityException
17 19 20 Class java.lang.SecurityException
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCanonicalizedSourcePathByDefault();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: ldc "Link creation requires a special privilege on Windows"
invokestatic com.oracle.truffle.api.test.OSUtils.isWindows:()Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aconst_null
ldc "sourcePathCanonicalizationDefault"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.createTempDirectory:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Lcom/oracle/truffle/api/TruffleFile;
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 3: aload 1
ldc "sourceFile"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 4: aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createFile:([Ljava/nio/file/attribute/FileAttribute;)V
5: aload 1
ldc "symlink"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 6: aload 3
aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createSymbolicLink:(Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute;)V
7: ldc "TestJava"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "hello"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 8: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 end local 3 end local 2 9: goto 17
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
10: astore 5
11: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
12: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 13: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
16: aload 5
athrow
17: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 20
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top top top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 19: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 20: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
3 23 1 tempDir Lcom/oracle/truffle/api/TruffleFile;
4 9 2 sourceFile Lcom/oracle/truffle/api/TruffleFile;
6 9 3 symlink Lcom/oracle/truffle/api/TruffleFile;
8 9 4 source Lcom/oracle/truffle/api/source/Source;
13 14 6 f Lcom/oracle/truffle/api/TruffleFile;
19 20 6 f Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
3 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNotCanonicalizedSymlinkSourcePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: ldc "Link creation requires a special privilege on Windows"
invokestatic com.oracle.truffle.api.test.OSUtils.isWindows:()Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aconst_null
ldc "sourcePathCanonicalizationSymlink"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.createTempDirectory:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Lcom/oracle/truffle/api/TruffleFile;
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 3: aload 1
ldc "sourceFile"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 4: aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createFile:([Ljava/nio/file/attribute/FileAttribute;)V
5: aload 1
ldc "symlink"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 6: aload 3
aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createSymbolicLink:(Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute;)V
7: ldc "TestJava"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
iconst_0
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.canonicalizePath:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "hello"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 8: aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 end local 3 end local 2 9: goto 17
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
10: astore 5
11: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
12: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 13: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
16: aload 5
athrow
17: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 20
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top top top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 19: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 20: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
3 23 1 tempDir Lcom/oracle/truffle/api/TruffleFile;
4 9 2 sourceFile Lcom/oracle/truffle/api/TruffleFile;
6 9 3 symlink Lcom/oracle/truffle/api/TruffleFile;
8 9 4 source Lcom/oracle/truffle/api/source/Source;
13 14 6 f Lcom/oracle/truffle/api/TruffleFile;
19 20 6 f Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
3 10 10 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNotCanonicalizedSymlinkRelativeSourcePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: ldc "Link creation requires a special privilege on Windows"
invokestatic com.oracle.truffle.api.test.OSUtils.isWindows:()Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getCurrentWorkingDirectory:()Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aconst_null
ldc "sourcePathCanonicalizationRelative"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.createTempDirectory:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Lcom/oracle/truffle/api/TruffleFile;
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.setCurrentWorkingDirectory:(Lcom/oracle/truffle/api/TruffleFile;)V
5: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "sourceFile"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 6: aload 3
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createFile:([Ljava/nio/file/attribute/FileAttribute;)V
7: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "symlink"
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 8: aload 4
aload 3
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createSymbolicLink:(Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute;)V
9: ldc "TestJava"
aload 4
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
iconst_0
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.canonicalizePath:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "hello"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 5
start local 5 10: ldc "symlink"
aload 5
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 end local 4 end local 3 11: goto 20
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
12: astore 6
13: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.setCurrentWorkingDirectory:(Lcom/oracle/truffle/api/TruffleFile;)V
14: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleFile top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 7
start local 7 16: aload 7
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
19: aload 6
athrow
20: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.setCurrentWorkingDirectory:(Lcom/oracle/truffle/api/TruffleFile;)V
21: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 24
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleFile top top top top top java.util.Iterator
StackMap stack:
22: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 7
start local 7 23: aload 7
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 7 24: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 2
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
26: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
3 27 1 oldCWD Lcom/oracle/truffle/api/TruffleFile;
4 27 2 tempDir Lcom/oracle/truffle/api/TruffleFile;
6 11 3 sourceFile Lcom/oracle/truffle/api/TruffleFile;
8 11 4 symlink Lcom/oracle/truffle/api/TruffleFile;
10 11 5 source Lcom/oracle/truffle/api/source/Source;
16 17 7 f Lcom/oracle/truffle/api/TruffleFile;
23 24 7 f Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
4 12 12 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNotCanonicalizedNotExistingSourcePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: ldc "Link creation requires a special privilege on Windows"
invokestatic com.oracle.truffle.api.test.OSUtils.isWindows:()Z
invokestatic org.junit.Assume.assumeFalse:(Ljava/lang/String;Z)V
1: aload 0
invokevirtual com.oracle.truffle.api.test.source.SourceBuilderTest.setupEnv:()V
2: aload 0
getfield com.oracle.truffle.api.test.source.SourceBuilderTest.languageEnv:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aconst_null
ldc "sourcePathCanonicalizationNotExist"
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.createTempDirectory:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Lcom/oracle/truffle/api/TruffleFile;
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
astore 1
start local 1 3: aload 1
ldc "sourceFile"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 4: aload 1
ldc "symlink"
invokevirtual com.oracle.truffle.api.TruffleFile.resolve:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 5: aload 3
aload 2
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokevirtual com.oracle.truffle.api.TruffleFile.createSymbolicLink:(Lcom/oracle/truffle/api/TruffleFile;[Ljava/nio/file/attribute/FileAttribute;)V
6: aload 2
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
7: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
8: ldc "TestJava"
aload 3
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
iconst_0
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.canonicalizePath:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
ldc "hello"
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 9: aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 end local 3 end local 2 10: goto 18
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Throwable
11: astore 5
12: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 14: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
17: aload 5
athrow
18: StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: com.oracle.truffle.api.test.source.SourceBuilderTest com.oracle.truffle.api.TruffleFile top top top top top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 6
start local 6 20: aload 6
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
end local 6 21: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.delete:()V
23: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/api/test/source/SourceBuilderTest;
3 24 1 tempDir Lcom/oracle/truffle/api/TruffleFile;
4 10 2 sourceFile Lcom/oracle/truffle/api/TruffleFile;
5 10 3 symlink Lcom/oracle/truffle/api/TruffleFile;
9 10 4 source Lcom/oracle/truffle/api/source/Source;
14 15 6 f Lcom/oracle/truffle/api/TruffleFile;
20 21 6 f Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
3 11 11 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.net.URL queryURL(java.net.URI);
descriptor: (Ljava/net/URI;)Ljava/net/URL;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.net.URL
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.net.URI.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "?query"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uri Ljava/net/URI;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
uri
private static java.lang.Object lambda$0(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$1(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
iconst_0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$2(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: aload 0
iconst_0
iconst_0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.createSection:(III)Lcom/oracle/truffle/api/source/SourceSection;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$3(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$4(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:(I)Ljava/lang/CharSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$5(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.getColumnNumber:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$6(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLineCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$7(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.getLineLength:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$8(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.getLineNumber:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$9(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.source.Source.getLineStartOffset:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$10(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getReader:()Ljava/io/Reader;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$11();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc ""
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$12();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "/"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$13();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "a/"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$14();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: ldc ""
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "/a"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$15(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$16(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$17(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$18(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$19(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$20(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "SourceBuilderTest.java"
NestMembers:
com.oracle.truffle.api.test.source.SourceBuilderTest$1 com.oracle.truffle.api.test.source.SourceBuilderTest$TestJSLanguage com.oracle.truffle.api.test.source.SourceBuilderTest$TestJavaLanguage com.oracle.truffle.api.test.source.SourceBuilderTest$TestTxtLanguage
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source
com.oracle.truffle.api.test.source.SourceBuilderTest$1
public TestJSLanguage = com.oracle.truffle.api.test.source.SourceBuilderTest$TestJSLanguage of com.oracle.truffle.api.test.source.SourceBuilderTest
public TestJavaLanguage = com.oracle.truffle.api.test.source.SourceBuilderTest$TestJavaLanguage of com.oracle.truffle.api.test.source.SourceBuilderTest
public TestTxtLanguage = com.oracle.truffle.api.test.source.SourceBuilderTest$TestTxtLanguage of com.oracle.truffle.api.test.source.SourceBuilderTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context