final class com.oracle.truffle.api.debug.DebugSourcesResolver
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.debug.DebugSourcesResolver
super_class: java.lang.Object
{
private final com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.net.URI[] sourcePath;
descriptor: [Ljava/net/URI;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.Map<com.oracle.truffle.api.source.Source, com.oracle.truffle.api.source.Source> resolvedMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;>;
void <init>(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
anewarray java.net.URI
putfield com.oracle.truffle.api.debug.DebugSourcesResolver.sourcePath:[Ljava/net/URI;
2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.oracle.truffle.api.debug.DebugSourcesResolver.resolvedMap:Ljava/util/Map;
3: aload 0
aload 1
putfield com.oracle.truffle.api.debug.DebugSourcesResolver.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/DebugSourcesResolver;
0 5 1 env Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
MethodParameters:
Name Flags
env
void setSourcePath(java.lang.Iterable<java.net.URI>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.util.Collection
ifeq 3
1: aload 1
checkcast java.util.Collection
astore 2
start local 2 2: goto 9
end local 2 3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver java.lang.Iterable top java.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.URI
astore 4
start local 4 6: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 3
astore 2
end local 3 start local 2 9: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver java.lang.Iterable java.util.Collection
StackMap stack:
aload 2
aload 2
invokeinterface java.util.Collection.size:()I
anewarray java.net.URI
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.net.URI[]
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 18
12: StackMap locals: java.net.URI[] int
StackMap stack:
aload 3
iload 4
aaload
invokevirtual java.net.URI.isAbsolute:()Z
ifne 17
13: aload 3
iload 4
new java.net.URI
dup
new java.lang.StringBuilder
dup
ldc "file://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
aaload
invokevirtual java.net.URI.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
aastore
14: goto 17
StackMap locals:
StackMap stack: java.net.URISyntaxException
15: astore 5
start local 5 16: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "URI "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iload 4
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not absolute and can not be converted to a file: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.net.URISyntaxException.getLocalizedMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
aload 3
arraylength
if_icmplt 12
end local 4 19: aload 0
aload 3
putfield com.oracle.truffle.api.debug.DebugSourcesResolver.sourcePath:[Ljava/net/URI;
20: return
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/debug/DebugSourcesResolver;
0 21 1 uris Ljava/lang/Iterable<Ljava/net/URI;>;
2 3 2 collection Ljava/util/Collection<Ljava/net/URI;>;
9 21 2 collection Ljava/util/Collection<Ljava/net/URI;>;
4 9 3 list Ljava/util/List<Ljava/net/URI;>;
6 7 4 uri Ljava/net/URI;
10 21 3 array [Ljava/net/URI;
11 19 4 i I
16 17 5 ex Ljava/net/URISyntaxException;
Exception table:
from to target type
13 14 15 Class java.net.URISyntaxException
Signature: (Ljava/lang/Iterable<Ljava/net/URI;>;)V
MethodParameters:
Name Flags
uris
com.oracle.truffle.api.source.Source resolve(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.resolvedMap:Ljava/util/Map;
dup
astore 3
monitorenter
3: aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.resolvedMap:Ljava/util/Map;
aload 1
aload 1
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.source.Source
astore 2
start local 2 4: aload 2
aload 1
if_acmpne 7
5: aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.DebugSourcesResolver.doResolve:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source;
astore 2
6: aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.resolvedMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals: com.oracle.truffle.api.source.Source java.util.Map
StackMap stack:
aload 3
monitorexit
8: goto 11
end local 2 StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source top java.util.Map
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
start local 2 11: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source com.oracle.truffle.api.source.Source
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/debug/DebugSourcesResolver;
0 12 1 source Lcom/oracle/truffle/api/source/Source;
4 9 2 resolved Lcom/oracle/truffle/api/source/Source;
11 12 2 resolved Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
3 8 9 any
9 10 9 any
MethodParameters:
Name Flags
source
private com.oracle.truffle.api.source.Source doResolve(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
invokevirtual java.net.URI.isAbsolute:()Z
ifeq 7
3: aload 2
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 3
4: goto 17
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream
StackMap stack: java.io.IOException
5: pop
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.sourcePath:[Ljava/net/URI;
astore 4
start local 4 8: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream java.net.URI[] top int int java.net.URI[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: aload 5
aload 2
invokestatic com.oracle.truffle.api.debug.DebugSourcesResolver.resolve:(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
astore 9
start local 9 11: aload 9
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 3
12: aload 9
astore 2
13: goto 17
14: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream java.net.URI[] java.net.URI int int java.net.URI[] java.net.URI
StackMap stack: java.io.IOException
pop
end local 9 end local 5 15: iinc 6 1
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream java.net.URI[] top int int java.net.URI[]
StackMap stack:
16: iload 6
iload 7
if_icmplt 9
end local 4 17: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream
StackMap stack:
aload 3
ifnonnull 19
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 20: ldc "file"
aload 2
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
21: aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getTruffleFile:(Ljava/net/URI;)Lcom/oracle/truffle/api/TruffleFile;
astore 5
start local 5 22: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
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;
astore 4
end local 5 23: goto 28
24: StackMap locals: com.oracle.truffle.api.source.Source$SourceBuilder
StackMap stack:
aload 2
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 5
start local 5 25: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
aload 5
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 4
26: goto 28
end local 5 StackMap locals:
StackMap stack: java.lang.Exception
27: pop
28: StackMap locals:
StackMap stack:
aload 4
ifnonnull 33
29: aload 2
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
ifnull 30
aload 2
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
goto 31
StackMap locals:
StackMap stack:
30: aload 2
invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
31: astore 5
start local 5 32: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
new java.io.InputStreamReader
dup
aload 3
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
aload 5
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 2
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.uri:(Ljava/net/URI;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
astore 4
end local 5 33: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.cached:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.interactive:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
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
34: aload 3
invokevirtual java.io.InputStream.close:()V
35: goto 37
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream com.oracle.truffle.api.source.Source$SourceBuilder top top com.oracle.truffle.api.source.Source
StackMap stack: java.io.IOException
36: pop
37: StackMap locals:
StackMap stack:
aload 7
areturn
38: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream com.oracle.truffle.api.source.Source$SourceBuilder
StackMap stack: java.lang.Exception
astore 5
start local 5 39: aload 0
getfield com.oracle.truffle.api.debug.DebugSourcesResolver.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
ldc ""
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getLogger:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleLogger;
ldc "Failed to resolve %s: %s%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
aastore
dup
iconst_1
aload 5
invokevirtual java.lang.Exception.getLocalizedMessage:()Ljava/lang/String;
aastore
dup
iconst_2
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLogger.warning:(Ljava/lang/String;)V
40: aload 3
invokevirtual java.io.InputStream.close:()V
41: goto 43
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream com.oracle.truffle.api.source.Source$SourceBuilder java.lang.Exception
StackMap stack: java.io.IOException
42: pop
43: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 44: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream
StackMap stack: java.lang.Throwable
astore 6
45: aload 3
invokevirtual java.io.InputStream.close:()V
46: goto 48
StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.Source java.net.URI java.io.InputStream top top java.lang.Throwable
StackMap stack: java.io.IOException
47: pop
48: StackMap locals:
StackMap stack:
aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/oracle/truffle/api/debug/DebugSourcesResolver;
0 49 1 source Lcom/oracle/truffle/api/source/Source;
1 49 2 uri Ljava/net/URI;
2 49 3 stream Ljava/io/InputStream;
8 17 4 roots [Ljava/net/URI;
10 15 5 root Ljava/net/URI;
11 15 9 resolved Ljava/net/URI;
20 44 4 builder Lcom/oracle/truffle/api/source/Source$SourceBuilder;
22 23 5 file Lcom/oracle/truffle/api/TruffleFile;
25 27 5 url Ljava/net/URL;
32 33 5 name Ljava/lang/String;
39 44 5 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.io.IOException
11 13 14 Class java.io.IOException
24 26 27 Class java.net.MalformedURLException
24 26 27 Class java.lang.IllegalArgumentException
34 35 36 Class java.io.IOException
33 34 38 Class java.io.IOException
33 34 38 Class java.lang.SecurityException
40 41 42 Class java.io.IOException
19 34 44 any
38 40 44 any
45 46 47 Class java.io.IOException
MethodParameters:
Name Flags
source
private static java.net.URI resolve(java.net.URI, java.net.URI);
descriptor: (Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnull 11
5: aload 3
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
6: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: goto 9
8: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
9: StackMap locals:
StackMap stack:
new java.net.URI
dup
aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
aload 0
invokevirtual java.net.URI.getUserInfo:()Ljava/lang/String;
aload 0
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
aload 0
invokevirtual java.net.URI.getPort:()I
aload 3
aload 0
invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
aload 0
invokevirtual java.net.URI.getFragment:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 10: goto 17
end local 4 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
astore 5
start local 5 12: aload 5
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 15
13: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
14: goto 16
15: StackMap locals: java.net.URI java.net.URI java.lang.String java.lang.String top java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
16: StackMap locals:
StackMap stack:
new java.net.URI
dup
aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
aload 5
aload 0
invokevirtual java.net.URI.getFragment:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 4
end local 5 start local 4 17: StackMap locals: java.net.URI java.net.URI java.lang.String java.lang.String java.net.URI
StackMap stack:
aload 4
invokevirtual java.net.URI.normalize:()Ljava/net/URI;
18: areturn
end local 4 19: StackMap locals: java.net.URI java.net.URI java.lang.String java.lang.String
StackMap stack: java.net.URISyntaxException
pop
20: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 base Ljava/net/URI;
0 21 1 child Ljava/net/URI;
1 21 2 childPath Ljava/lang/String;
4 21 3 path Ljava/lang/String;
10 11 4 resolved Ljava/net/URI;
17 19 4 resolved Ljava/net/URI;
12 17 5 ssp Ljava/lang/String;
Exception table:
from to target type
4 18 19 Class java.net.URISyntaxException
MethodParameters:
Name Flags
base
child
com.oracle.truffle.api.source.SourceSection resolve(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual com.oracle.truffle.api.debug.DebugSourcesResolver.resolve:(Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 3
aload 2
if_acmpeq 5
aload 3
ifnonnull 6
5: StackMap locals: com.oracle.truffle.api.source.Source com.oracle.truffle.api.source.Source
StackMap stack:
aload 1
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifne 9
7: aload 3
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
8: areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.hasCharIndex:()Z
ifeq 12
10: aload 3
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
11: areturn
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.hasColumns:()Z
ifeq 17
13: aload 3
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
14: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndColumn:()I
15: invokevirtual com.oracle.truffle.api.source.Source.createSection:(IIII)Lcom/oracle/truffle/api/source/SourceSection;
16: areturn
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.hasLines:()Z
ifeq 30
18: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
istore 4
start local 4 19: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
istore 5
start local 5 20: iconst_0
istore 6
start local 6 21: aload 3
iload 4
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:(I)Ljava/lang/CharSequence;
astore 7
start local 7 22: aload 7
invokeinterface java.lang.CharSequence.length:()I
istore 8
start local 8 23: goto 25
24: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.source.Source com.oracle.truffle.api.source.Source int int int java.lang.CharSequence int
StackMap stack:
iinc 6 1
25: StackMap locals:
StackMap stack:
iload 6
iload 8
if_icmpge 26
aload 7
iload 6
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 24
26: StackMap locals:
StackMap stack:
iload 6
iload 8
if_icmpne 28
27: iconst_0
istore 6
28: StackMap locals:
StackMap stack:
aload 3
iload 4
iload 6
iconst_1
iadd
iload 5
aload 3
iload 5
invokevirtual com.oracle.truffle.api.source.Source.getLineLength:(I)I
invokevirtual com.oracle.truffle.api.source.Source.createSection:(IIII)Lcom/oracle/truffle/api/source/SourceSection;
29: areturn
end local 8 end local 7 end local 6 end local 5 end local 4 30: StackMap locals: com.oracle.truffle.api.debug.DebugSourcesResolver com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.source.Source com.oracle.truffle.api.source.Source
StackMap stack:
aload 1
31: areturn
32: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
33: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/oracle/truffle/api/debug/DebugSourcesResolver;
0 34 1 section Lcom/oracle/truffle/api/source/SourceSection;
3 34 2 source Lcom/oracle/truffle/api/source/Source;
4 34 3 rSource Lcom/oracle/truffle/api/source/Source;
19 30 4 startLine I
20 30 5 endLine I
21 30 6 startColumn I
22 30 7 firstLine Ljava/lang/CharSequence;
23 30 8 length I
Exception table:
from to target type
6 8 32 Class java.lang.IllegalArgumentException
9 11 32 Class java.lang.IllegalArgumentException
12 16 32 Class java.lang.IllegalArgumentException
17 29 32 Class java.lang.IllegalArgumentException
30 31 32 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
section
static com.oracle.truffle.api.source.SourceSection findEncapsulatedSourceSection(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 7
2: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 1
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 6
aload 1
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.isInstrumentable:()Z
ifeq 6
3: aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 4: aload 2
ifnull 6
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
ifeq 6
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
7: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
8: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 2
start local 2 9: aload 2
ifnull 10
aload 2
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
goto 11
StackMap locals: com.oracle.truffle.api.nodes.RootNode
StackMap stack:
10: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.source.SourceSection
11: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 node Lcom/oracle/truffle/api/nodes/Node;
1 12 1 n Lcom/oracle/truffle/api/nodes/Node;
4 6 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
9 12 2 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
node
}
SourceFile: "DebugSourcesResolver.java"
InnerClasses:
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source