public abstract class com.oracle.truffle.api.source.Source
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.source.Source
super_class: java.lang.Object
{
public static final java.lang.CharSequence CONTENT_NONE;
descriptor: Ljava/lang/CharSequence;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.CharSequence CONTENT_UNSET;
descriptor: Ljava/lang/CharSequence;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.source.Source EMPTY;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NO_FASTPATH_SUBSOURCE_CREATION_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "do not create sub sources from compiled code"
private static final java.lang.String URI_SCHEME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "truffle"
private static final int MAX_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483639
private static final int BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
static final java.lang.Class<?> BYTE_SEQUENCE_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
static final com.oracle.truffle.api.source.InternedSources SOURCES;
descriptor: Lcom/oracle/truffle/api/source/InternedSources;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private volatile com.oracle.truffle.api.source.TextMap textMap;
descriptor: Lcom/oracle/truffle/api/source/TextMap;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.net.URI computedURI;
descriptor: Ljava/net/URI;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
volatile java.lang.ref.WeakReference<org.graalvm.polyglot.Source> cachedPolyglotSource;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/polyglot/Source;>;
private static final boolean ALLOW_IO;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=13, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/api/source/Source;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
3: aconst_null
putstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
4: new java.lang.String
dup
invokespecial java.lang.String.<init>:()V
putstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
5: new com.oracle.truffle.api.source.SourceImpl$ImmutableKey
dup
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
iconst_0
iconst_0
iconst_0
aconst_null
invokespecial com.oracle.truffle.api.source.SourceImpl$ImmutableKey.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
invokevirtual com.oracle.truffle.api.source.SourceImpl$ImmutableKey.toSourceNotInterned:()Lcom/oracle/truffle/api/source/SourceImpl;
putstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
6: iconst_0
newarray 8
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
putstatic com.oracle.truffle.api.source.Source.BYTE_SEQUENCE_CLASS:Ljava/lang/Class;
7: new com.oracle.truffle.api.source.InternedSources
dup
invokespecial com.oracle.truffle.api.source.InternedSources.<init>:()V
putstatic com.oracle.truffle.api.source.Source.SOURCES:Lcom/oracle/truffle/api/source/InternedSources;
8: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.isIOAllowed:()Z
putstatic com.oracle.truffle.api.source.Source.ALLOW_IO:Z
9: invokestatic com.oracle.truffle.api.source.SourceAccessor.load:()V
10: return
LocalVariableTable:
Start End Slot Name Signature
abstract java.lang.Object getSourceId();
descriptor: ()Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
abstract java.lang.Object getSourceKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/source/Source;
public abstract java.lang.String getLanguage();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String getPath();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isInternal();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isCached();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isInteractive();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public final boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.source.Source
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getSourceId:()Ljava/lang/Object;
aload 1
checkcast com.oracle.truffle.api.source.Source
invokevirtual com.oracle.truffle.api.source.Source.getSourceId:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 2
start local 2 3: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 4
iload 2
ifeq 4
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getSourceKey:()Ljava/lang/Object;
aload 1
checkcast com.oracle.truffle.api.source.Source
invokevirtual com.oracle.truffle.api.source.Source.getSourceKey:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/source/Source;
0 5 1 obj Ljava/lang/Object;
3 5 2 result Z
MethodParameters:
Name Flags
obj
public final int hashCode();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getSourceId:()Ljava/lang/Object;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
public com.oracle.truffle.api.source.Source subSource(int, int);
descriptor: (II)Lcom/oracle/truffle/api/source/Source;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
ldc "do not create sub sources from compiled code"
invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
3: aload 0
iload 1
iload 2
invokestatic com.oracle.truffle.api.source.SubSourceImpl.create:(Lcom/oracle/truffle/api/source/Source;II)Lcom/oracle/truffle/api/source/Source;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/source/Source;
0 4 1 baseCharIndex I
0 4 2 length I
MethodParameters:
Name Flags
baseCharIndex
length
public abstract java.lang.CharSequence getCharacters();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean hasBytes();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean hasCharacters();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.graalvm.polyglot.io.ByteSequence getBytes();
descriptor: ()Lorg/graalvm/polyglot/io/ByteSequence;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.net.URL getURL();
descriptor: ()Ljava/net/URL;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
abstract java.net.URI getOriginalURI();
descriptor: ()Ljava/net/URI;
flags: (0x0400) ACC_ABSTRACT
public final java.net.URI getURI();
descriptor: ()Ljava/net/URI;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getOriginalURI:()Ljava/net/URI;
astore 1
start local 1 1: aload 1
ifnonnull 8
2: aload 0
getfield com.oracle.truffle.api.source.Source.computedURI:Ljava/net/URI;
astore 1
3: aload 1
ifnonnull 8
4: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 5
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokeinterface org.graalvm.polyglot.io.ByteSequence.toByteArray:()[B
goto 6
StackMap locals: java.net.URI
StackMap stack:
5: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
StackMap locals:
StackMap stack: byte[]
6: astore 2
start local 2 7: aload 0
aload 0
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.source.Source.getNamedURI:(Ljava/lang/String;[B)Ljava/net/URI;
dup_x1
putfield com.oracle.truffle.api.source.Source.computedURI:Ljava/net/URI;
astore 1
end local 2 8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/source/Source;
1 9 1 uri Ljava/net/URI;
7 8 2 bytes [B
public abstract java.lang.String getMimeType();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public final java.io.Reader getReader();
descriptor: ()Ljava/io/Reader;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.source.CharSequenceReader
dup
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokespecial com.oracle.truffle.api.source.CharSequenceReader.<init>:(Ljava/lang/CharSequence;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
public final int getLength();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getBytes:()Lorg/graalvm/polyglot/io/ByteSequence;
invokeinterface org.graalvm.polyglot.io.ByteSequence.length:()I
ireturn
4: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for sources with character or byte content."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/source/Source;
public final java.lang.CharSequence getCharacters(int);
descriptor: (I)Ljava/lang/CharSequence;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineStartOffset:(I)I
istore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineLength:(I)I
istore 3
start local 3 2: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
iload 2
iload 2
iload 3
iadd
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/source/Source;
0 3 1 lineNumber I
1 3 2 offset I
2 3 3 length I
MethodParameters:
Name Flags
lineNumber
public final int getLineCount();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
invokevirtual com.oracle.truffle.api.source.TextMap.lineCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
public final int getLineNumber(int);
descriptor: (I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.offsetToLine:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
0 1 1 offset I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
offset
public final int getColumnNumber(int);
descriptor: (I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.offsetToCol:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
0 1 1 offset I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
offset
public final int getLineStartOffset(int);
descriptor: (I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineStartOffset:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
0 1 1 lineNumber I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
lineNumber
public final int getLineLength(int);
descriptor: (I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineLength:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
0 1 1 lineNumber I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
lineNumber
public final com.oracle.truffle.api.source.SourceSection createUnavailableSection();
descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.source.SourceSectionUnavailable
dup
aload 0
invokespecial com.oracle.truffle.api.source.SourceSectionUnavailable.<init>:(Lcom/oracle/truffle/api/source/Source;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
public final com.oracle.truffle.api.source.SourceSection createSection(int, int, int, int);
descriptor: (IIII)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
ldc "lineNumber < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
iload 3
if_icmple 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "startLine "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " > endLine "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 1
iload 3
if_icmpne 8
iload 2
iload 4
if_icmple 8
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "startColumn "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " > endColumn "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 23
9: iload 2
iconst_1
if_icmplt 10
iload 4
iconst_1
if_icmpge 11
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "columnNumber < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
iload 2
invokevirtual com.oracle.truffle.api.source.TextMap.lineColumnToOffset:(II)I
istore 5
start local 5 12: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 3
iload 4
invokevirtual com.oracle.truffle.api.source.TextMap.lineColumnToOffset:(II)I
istore 6
start local 6 13: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 14
iload 5
iload 6
if_icmple 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 5
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " > "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals: int int
StackMap stack:
iload 6
iconst_1
iadd
iload 5
isub
istore 7
start local 7 15: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
invokevirtual com.oracle.truffle.api.source.TextMap.length:()I
istore 8
start local 8 16: iload 7
iconst_1
if_icmpne 18
iload 5
iload 7
iadd
iload 8
if_icmple 18
17: iconst_0
istore 7
18: StackMap locals: int int
StackMap stack:
iload 5
iload 7
iadd
iload 8
if_icmple 20
19: new java.lang.IllegalArgumentException
dup
ldc "end position out of range"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionLoaded
dup
aload 0
iload 5
iload 7
invokespecial com.oracle.truffle.api.source.SourceSectionLoaded.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 9
start local 9 21: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 22
aload 9
invokestatic com.oracle.truffle.api.source.Source.assertValid:(Lcom/oracle/truffle/api/source/SourceSection;)Z
ifne 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 9
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 23: StackMap locals: com.oracle.truffle.api.source.Source int int int int
StackMap stack:
iload 2
iconst_m1
if_icmpne 27
24: iload 4
iconst_m1
if_icmpeq 26
25: new java.lang.IllegalArgumentException
dup
ldc "endColumn can not be specified when startColumn is not."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionUnloaded$Lines
dup
aload 0
iload 1
iload 3
invokespecial com.oracle.truffle.api.source.SourceSectionUnloaded$Lines.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
areturn
27: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmplt 28
iload 4
iconst_1
if_icmpge 29
28: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "columnNumber < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionUnloaded$LinesAndColumns
dup
aload 0
iload 1
iload 2
iload 3
iload 4
invokespecial com.oracle.truffle.api.source.SourceSectionUnloaded$LinesAndColumns.<init>:(Lcom/oracle/truffle/api/source/Source;IIII)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/api/source/Source;
0 30 1 startLine I
0 30 2 startColumn I
0 30 3 endLine I
0 30 4 endColumn I
12 23 5 charIndex I
13 23 6 endIndex I
15 23 7 length I
16 23 8 sourceLength I
21 23 9 section Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
startLine
startColumn
endLine
endColumn
public final com.oracle.truffle.api.source.SourceSection createSection(int);
descriptor: (I)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
ldc "lineNumber < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 9
5: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineStartOffset:(I)I
istore 3
start local 3 6: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineLength:(I)I
istore 4
start local 4 7: new com.oracle.truffle.api.source.SourceSectionLoaded
dup
aload 0
iload 3
iload 4
invokespecial com.oracle.truffle.api.source.SourceSectionLoaded.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 2
start local 2 8: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 10
aload 2
invokestatic com.oracle.truffle.api.source.Source.assertValid:(Lcom/oracle/truffle/api/source/SourceSection;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionUnloaded$Lines
dup
aload 0
iload 1
iload 1
invokespecial com.oracle.truffle.api.source.SourceSectionUnloaded$Lines.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 2
start local 2 10: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/api/source/Source;
0 11 1 lineNumber I
8 9 2 section Lcom/oracle/truffle/api/source/SourceSection;
10 11 2 section Lcom/oracle/truffle/api/source/SourceSection;
6 9 3 charIndex I
7 9 4 length I
MethodParameters:
Name Flags
lineNumber
public final com.oracle.truffle.api.source.SourceSection createSection(int, int);
descriptor: (II)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "charIndex < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ifge 6
5: new java.lang.IllegalArgumentException
dup
ldc "length < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 9
7: new com.oracle.truffle.api.source.SourceSectionLoaded
dup
aload 0
iload 1
iload 2
invokespecial com.oracle.truffle.api.source.SourceSectionLoaded.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 3
start local 3 8: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 10
aload 3
invokestatic com.oracle.truffle.api.source.Source.assertValid:(Lcom/oracle/truffle/api/source/SourceSection;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 9: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionUnloaded$Indexed
dup
aload 0
iload 1
iload 2
invokespecial com.oracle.truffle.api.source.SourceSectionUnloaded$Indexed.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 3
start local 3 10: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 3
areturn
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/source/Source;
0 11 1 charIndex I
0 11 2 length I
8 9 3 section Lcom/oracle/truffle/api/source/SourceSection;
10 11 3 section Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
charIndex
length
public final com.oracle.truffle.api.source.SourceSection createSection(int, int, int);
descriptor: (III)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifgt 4
3: new java.lang.IllegalArgumentException
dup
ldc "startLine < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ifgt 6
5: new java.lang.IllegalArgumentException
dup
ldc "startColumn < 1"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifeq 8
iload 3
ifge 8
7: new java.lang.IllegalArgumentException
dup
ldc "length < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineStartOffset:(I)I
istore 4
start local 4 9: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getTextMap:()Lcom/oracle/truffle/api/source/TextMap;
iload 1
invokevirtual com.oracle.truffle.api.source.TextMap.lineLength:(I)I
istore 5
start local 5 10: iload 2
iload 5
iconst_1
iadd
if_icmple 12
11: new java.lang.IllegalArgumentException
dup
ldc "column out of range"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: int int
StackMap stack:
iload 4
iload 2
iadd
iconst_1
isub
istore 6
start local 6 13: iload 6
iload 3
iadd
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
if_icmple 15
14: new java.lang.IllegalArgumentException
dup
ldc "charIndex out of range"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: int
StackMap stack:
new com.oracle.truffle.api.source.SourceSectionLoaded
dup
aload 0
iload 6
iload 3
invokespecial com.oracle.truffle.api.source.SourceSectionLoaded.<init>:(Lcom/oracle/truffle/api/source/Source;II)V
astore 7
start local 7 16: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 17
aload 7
invokestatic com.oracle.truffle.api.source.Source.assertValid:(Lcom/oracle/truffle/api/source/SourceSection;)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 7
areturn
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 18 0 this Lcom/oracle/truffle/api/source/Source;
0 18 1 startLine I
0 18 2 startColumn I
0 18 3 length I
9 18 4 lineStartOffset I
10 18 5 lineLength I
13 18 6 charIndex I
16 18 7 section Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
startLine
startColumn
length
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Source [language="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", path="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", internal="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", cached="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.isCached:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
1: ldc ", interactive="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.isInteractive:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", hasBytes="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", hasCharacters="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", URL="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURL:()Ljava/net/URL;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", URI="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getURI:()Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc ", mimeType="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/source/Source;
private static boolean assertValid(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.SourceSection.isValid:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Invalid source section bounds."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 section Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
section
abstract com.oracle.truffle.api.source.Source copy();
descriptor: ()Lcom/oracle/truffle/api/source/Source;
flags: (0x0400) ACC_ABSTRACT
final com.oracle.truffle.api.source.TextMap getTextMap();
descriptor: ()Lcom/oracle/truffle/api/source/TextMap;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.hasBytes:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Operation is only enabled for character based sources."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.source.Source.textMap:Lcom/oracle/truffle/api/source/TextMap;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: aload 0
aload 0
invokevirtual com.oracle.truffle.api.source.Source.createTextMap:()Lcom/oracle/truffle/api/source/TextMap;
dup_x1
putfield com.oracle.truffle.api.source.Source.textMap:Lcom/oracle/truffle/api/source/TextMap;
astore 1
5: StackMap locals: com.oracle.truffle.api.source.TextMap
StackMap stack:
getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 6
aload 1
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/source/Source;
3 7 1 res Lcom/oracle/truffle/api/source/TextMap;
com.oracle.truffle.api.source.TextMap createTextMap();
descriptor: ()Lcom/oracle/truffle/api/source/TextMap;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "can't read file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.api.source.Source.getName:()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.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.source.TextMap.fromCharSequence:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/TextMap;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/source/Source;
1 4 1 code Ljava/lang/CharSequence;
private java.net.URI getNamedURI(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/net/URI;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.oracle.truffle.api.source.Source.getNamedURI:(Ljava/lang/String;[BII)Ljava/net/URI;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/source/Source;
0 1 1 name Ljava/lang/String;
0 1 2 bytes [B
MethodParameters:
Name Flags
name
bytes
private java.net.URI getNamedURI(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)Ljava/net/URI;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 3
1: aload 2
iload 3
iload 4
invokestatic com.oracle.truffle.api.source.Source.digest:([BII)Ljava/lang/String;
astore 5
start local 5 2: goto 4
end local 5 3: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
bipush 16
invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
astore 5
start local 5 4: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnull 6
5: 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
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
6: StackMap locals:
StackMap stack:
new java.net.URI
dup
ldc "truffle"
aload 5
aconst_null
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
7: areturn
8: StackMap locals:
StackMap stack: java.net.URISyntaxException
astore 6
start local 6 9: new java.lang.Error
dup
aload 6
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
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 10 0 this Lcom/oracle/truffle/api/source/Source;
0 10 1 name Ljava/lang/String;
0 10 2 bytes [B
0 10 3 byteIndex I
0 10 4 length I
2 3 5 digest Ljava/lang/String;
4 10 5 digest Ljava/lang/String;
9 10 6 ex Ljava/net/URISyntaxException;
Exception table:
from to target type
6 7 8 Class java.net.URISyntaxException
MethodParameters:
Name Flags
name
bytes
byteIndex
length
public static com.oracle.truffle.api.source.Source$LiteralBuilder newBuilder(java.lang.String, java.lang.CharSequence, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_0
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
aload 2
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 characters Ljava/lang/CharSequence;
0 1 2 name Ljava/lang/String;
MethodParameters:
Name Flags
language
characters
name
public static com.oracle.truffle.api.source.Source$LiteralBuilder newBuilder(java.lang.String, org.graalvm.polyglot.io.ByteSequence, java.lang.String);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/io/ByteSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_0
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
aload 2
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 bytes Lorg/graalvm/polyglot/io/ByteSequence;
0 1 2 name Ljava/lang/String;
MethodParameters:
Name Flags
language
bytes
name
public static com.oracle.truffle.api.source.Source$SourceBuilder newBuilder(java.lang.String, com.oracle.truffle.api.TruffleFile);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_1
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 file Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
language
file
static com.oracle.truffle.api.source.Source$SourceBuilder newBuilder(java.lang.String, java.io.File);
descriptor: (Ljava/lang/String;Ljava/io/File;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_1
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 source Ljava/io/File;
MethodParameters:
Name Flags
language
source
public static com.oracle.truffle.api.source.Source$SourceBuilder newBuilder(java.lang.String, java.net.URL);
descriptor: (Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_1
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 url Ljava/net/URL;
MethodParameters:
Name Flags
language
url
public static com.oracle.truffle.api.source.Source$SourceBuilder newBuilder(java.lang.String, java.io.Reader, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 1
iconst_1
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/Object;Z)V
aload 2
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 language Ljava/lang/String;
0 1 1 source Ljava/io/Reader;
0 1 2 name Ljava/lang/String;
MethodParameters:
Name Flags
language
source
name
public static com.oracle.truffle.api.source.Source$LiteralBuilder newBuilder(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.source.Source$LiteralBuilder
dup
getstatic com.oracle.truffle.api.source.Source.EMPTY:Lcom/oracle/truffle/api/source/Source;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
invokespecial com.oracle.truffle.api.source.Source$LiteralBuilder.<init>:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/source/Source;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
public static java.lang.String findLanguage(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokestatic com.oracle.truffle.api.source.Source.findLanguage:(Ljava/lang/String;)Ljava/lang/String;
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Lcom/oracle/truffle/api/TruffleFile;
1 4 1 mimeType Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
public static java.lang.String findLanguage(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokestatic com.oracle.truffle.api.source.Source.findLanguage:(Ljava/lang/String;)Ljava/lang/String;
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 url Ljava/net/URL;
1 4 1 mimeType Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
public static java.lang.String findMimeType(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.detectMimeType:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Lcom/oracle/truffle/api/TruffleFile;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
public static java.lang.String findMimeType(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
aconst_null
getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getCurrentFileSystemContext:()Ljava/lang/Object;
invokestatic com.oracle.truffle.api.source.Source.findMimeType:(Ljava/net/URL;Ljava/net/URLConnection;Ljava/util/Set;Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 url Ljava/net/URL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
public static java.lang.String findLanguage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.polyglot.Source.findLanguage:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mimeType Ljava/lang/String;
MethodParameters:
Name Flags
mimeType
private static java.lang.IllegalArgumentException invalidMimeType();
descriptor: ()Ljava/lang/IllegalArgumentException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.IllegalArgumentException
dup
ldc "Invalid MIME type provided. MIME types consist of a type and a subtype separated by '/'."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
static com.oracle.truffle.api.source.Source buildSource(java.lang.String, java.lang.Object, java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.Object, java.net.URL, java.net.URI, java.nio.charset.Charset, boolean, boolean, boolean, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/Object;Ljava/net/URL;Ljava/net/URI;Ljava/nio/charset/Charset;ZZZLjava/lang/Object;)Lcom/oracle/truffle/api/source/Source;
flags: (0x0008) ACC_STATIC
Code:
stack=14, locals=28, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 0: aload 2
astore 14
start local 14 1: aload 8
astore 15
start local 15 2: aload 6
astore 16
start local 16 3: aload 5
astore 17
start local 17 4: aload 3
astore 18
start local 18 5: aload 7
astore 19
start local 19 6: aload 1
astore 20
start local 20 7: aload 9
astore 21
start local 21 8: aconst_null
astore 22
start local 22 9: aload 13
astore 23
start local 23 10: aload 20
instanceof java.io.File
ifeq 15
11: aload 20
checkcast java.io.File
astore 24
start local 24 12: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 13
aload 23
ifnonnull 13
new java.lang.AssertionError
dup
ldc "file system context must be provided by polyglot embedding API"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: java.lang.String java.lang.Object java.lang.String java.lang.String int java.lang.String java.lang.Object java.net.URL java.net.URI java.nio.charset.Charset int int int java.lang.Object java.lang.String java.net.URI java.lang.Object java.lang.String java.lang.String java.net.URL java.lang.Object java.nio.charset.Charset com.oracle.truffle.api.TruffleFile java.lang.Object java.io.File
StackMap stack:
aload 24
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
aload 23
invokestatic com.oracle.truffle.api.source.SourceAccessor.getTruffleFile:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
astore 25
start local 25 14: aload 25
astore 20
end local 25 end local 24 15: StackMap locals:
StackMap stack:
aload 20
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 20
16: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 17
aconst_null
goto 18
StackMap locals:
StackMap stack:
17: aload 16
StackMap locals:
StackMap stack: java.lang.Object
18: astore 16
19: goto 114
StackMap locals:
StackMap stack:
20: aload 20
instanceof com.oracle.truffle.api.TruffleFile
ifeq 53
21: aload 20
checkcast com.oracle.truffle.api.TruffleFile
astore 22
22: iload 4
ifeq 23
aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
if_acmpne 28
23: StackMap locals:
StackMap stack:
aload 15
ifnonnull 31
24: aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.isAbsolute:()Z
ifeq 25
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.toUri:()Ljava/net/URI;
goto 26
StackMap locals:
StackMap stack:
25: aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.toRelativeUri:()Ljava/net/URI;
StackMap locals:
StackMap stack: java.net.URI
26: astore 15
27: goto 31
28: StackMap locals:
StackMap stack:
aload 22
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
ifeq 29
aload 22
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
goto 30
StackMap locals:
StackMap stack:
29: aload 22
StackMap locals:
StackMap stack: com.oracle.truffle.api.TruffleFile
30: astore 22
31: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.source.SourceAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 22
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getFileSystemContext:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/Object;
astore 23
32: aload 14
ifnonnull 33
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.getName:()Ljava/lang/String;
goto 34
StackMap locals:
StackMap stack:
33: aload 14
StackMap locals:
StackMap stack: java.lang.String
34: astore 14
35: aload 18
ifnonnull 36
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
goto 37
StackMap locals:
StackMap stack:
36: aload 18
StackMap locals:
StackMap stack: java.lang.String
37: astore 18
38: aload 15
ifnonnull 39
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.toUri:()Ljava/net/URI;
goto 40
StackMap locals:
StackMap stack:
39: aload 15
StackMap locals:
StackMap stack: java.net.URI
40: astore 15
41: aload 17
ifnonnull 42
aload 22
aload 23
aload 0
invokestatic com.oracle.truffle.api.source.Source.getValidMimeTypes:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set;
invokestatic com.oracle.truffle.api.source.SourceAccessor.detectMimeType:(Lcom/oracle/truffle/api/TruffleFile;Ljava/util/Set;)Ljava/lang/String;
goto 43
StackMap locals:
StackMap stack:
42: aload 17
StackMap locals:
StackMap stack: java.lang.String
43: astore 17
44: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 114
45: aload 23
aload 0
aload 17
invokestatic com.oracle.truffle.api.source.Source.isCharacterBased:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 51
46: aload 21
ifnonnull 47
aload 22
aload 17
invokestatic com.oracle.truffle.api.source.Source.findEncoding:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;)Ljava/nio/charset/Charset;
goto 48
StackMap locals:
StackMap stack:
47: aload 21
StackMap locals:
StackMap stack: java.nio.charset.Charset
48: astore 21
49: aload 22
aload 21
invokestatic com.oracle.truffle.api.source.Source.read:(Lcom/oracle/truffle/api/TruffleFile;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 16
50: goto 114
51: StackMap locals:
StackMap stack:
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.readAllBytes:()[B
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 16
52: goto 114
StackMap locals:
StackMap stack:
53: aload 20
instanceof java.net.URL
ifeq 99
54: aload 20
checkcast java.net.URL
astore 19
55: aload 19
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
astore 24
start local 24 56: aload 24
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 25
start local 25 57: aload 14
ifnonnull 58
iload 25
iconst_m1
if_icmpeq 58
aload 19
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
iload 25
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 59
StackMap locals: java.lang.String int
StackMap stack:
58: aload 14
StackMap locals:
StackMap stack: java.lang.String
59: astore 14
60: aload 19
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
astore 26
start local 26 61: goto 64
end local 26 StackMap locals:
StackMap stack: java.net.URISyntaxException
62: astore 27
start local 27 63: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Bad URL: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 27
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 27 start local 26 64: StackMap locals: java.net.URI
StackMap stack:
aload 15
ifnonnull 65
aload 26
goto 66
StackMap locals:
StackMap stack:
65: aload 15
StackMap locals:
StackMap stack: java.net.URI
66: astore 15
67: aload 18
ifnonnull 68
aload 19
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
goto 69
StackMap locals:
StackMap stack:
68: aload 18
StackMap locals:
StackMap stack: java.lang.String
69: astore 18
70: aload 23
ifnonnull 71
getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getCurrentFileSystemContext:()Ljava/lang/Object;
goto 72
StackMap locals:
StackMap stack:
71: aload 23
StackMap locals:
StackMap stack: java.lang.Object
72: astore 23
73: aload 26
aload 23
invokestatic com.oracle.truffle.api.source.SourceAccessor.getTruffleFile:(Ljava/net/URI;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
astore 22
74: aload 22
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.exists:([Ljava/nio/file/LinkOption;)Z
ifeq 75
aload 22
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.getCanonicalFile:([Ljava/nio/file/LinkOption;)Lcom/oracle/truffle/api/TruffleFile;
goto 76
StackMap locals:
StackMap stack:
75: aload 22
StackMap locals:
StackMap stack: com.oracle.truffle.api.TruffleFile
76: astore 22
77: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 114
78: aload 23
aload 0
aload 17
invokestatic com.oracle.truffle.api.source.Source.isCharacterBased:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 84
79: aload 21
ifnonnull 80
aload 22
aload 17
invokestatic com.oracle.truffle.api.source.Source.findEncoding:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;)Ljava/nio/charset/Charset;
goto 81
StackMap locals:
StackMap stack:
80: aload 21
StackMap locals:
StackMap stack: java.nio.charset.Charset
81: astore 21
82: aload 22
aload 21
invokestatic com.oracle.truffle.api.source.Source.read:(Lcom/oracle/truffle/api/TruffleFile;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 16
83: goto 114
84: StackMap locals:
StackMap stack:
aload 22
invokevirtual com.oracle.truffle.api.TruffleFile.readAllBytes:()[B
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 16
85: goto 114
StackMap locals:
StackMap stack: java.nio.file.FileSystemNotFoundException
86: pop
87: getstatic com.oracle.truffle.api.source.Source.ALLOW_IO:Z
ifeq 98
aload 23
invokestatic com.oracle.truffle.api.source.SourceAccessor.hasAllAccess:(Ljava/lang/Object;)Z
ifeq 98
88: aload 19
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 27
start local 27 89: aload 21
ifnonnull 90
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
goto 91
StackMap locals: java.net.URLConnection
StackMap stack:
90: aload 21
StackMap locals:
StackMap stack: java.nio.charset.Charset
91: astore 21
92: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 114
93: aload 23
aload 0
aload 17
invokestatic com.oracle.truffle.api.source.Source.isCharacterBased:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
ifeq 96
94: new java.io.InputStreamReader
dup
aload 27
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
aload 21
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
invokestatic com.oracle.truffle.api.source.Source.read:(Ljava/io/Reader;)Ljava/lang/String;
astore 16
95: goto 114
96: StackMap locals:
StackMap stack:
aload 27
invokestatic com.oracle.truffle.api.source.Source.readBytes:(Ljava/net/URLConnection;)[B
invokestatic org.graalvm.polyglot.io.ByteSequence.create:([B)Lorg/graalvm/polyglot/io/ByteSequence;
astore 16
end local 27 97: goto 114
98: StackMap locals:
StackMap stack:
new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "Reading of URL "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not allowed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 26 end local 25 end local 24 99: StackMap locals:
StackMap stack:
aload 20
instanceof java.io.Reader
ifeq 105
100: aload 20
checkcast java.io.Reader
astore 24
start local 24 101: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 102
aload 24
invokestatic com.oracle.truffle.api.source.Source.read:(Ljava/io/Reader;)Ljava/lang/String;
goto 103
StackMap locals: java.io.Reader
StackMap stack:
102: aload 16
StackMap locals:
StackMap stack: java.lang.Object
103: astore 16
end local 24 104: goto 114
StackMap locals:
StackMap stack:
105: aload 20
instanceof org.graalvm.polyglot.io.ByteSequence
ifeq 110
106: aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 107
aload 20
goto 108
StackMap locals:
StackMap stack:
107: aload 16
StackMap locals:
StackMap stack: java.lang.Object
108: astore 16
109: goto 114
110: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 111
aload 20
instanceof java.lang.CharSequence
ifne 111
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
111: StackMap locals:
StackMap stack:
aload 16
getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
if_acmpne 112
aload 20
goto 113
StackMap locals:
StackMap stack:
112: aload 16
StackMap locals:
StackMap stack: java.lang.Object
113: astore 16
114: StackMap locals:
StackMap stack:
aload 14
ifnonnull 116
115: ldc "Unnamed"
astore 14
116: StackMap locals:
StackMap stack:
aload 16
invokestatic com.oracle.truffle.api.source.Source.enforceInterfaceContracts:(Ljava/lang/Object;)Ljava/lang/Object;
astore 16
117: aconst_null
astore 24
start local 24 118: aconst_null
astore 25
start local 25 119: aload 22
ifnull 128
120: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 22
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getRelativePathInLanguageHome:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
astore 25
121: aload 25
ifnull 128
122: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.languageSupport:()Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.languageSupport:()Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 22
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getFileSystemContext:(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getFileSystemEngineObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 26
start local 26 123: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 26
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.inContextPreInitialization:(Ljava/lang/Object;)Z
ifeq 128
124: new com.oracle.truffle.api.source.SourceImpl$ReinitializableKey
dup
aload 22
aload 16
aload 17
aload 0
125: aload 19
aload 15
aload 14
aload 18
iload 10
iload 11
iload 12
126: aload 25
127: invokespecial com.oracle.truffle.api.source.SourceImpl$ReinitializableKey.<init>:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
astore 24
end local 26 128: StackMap locals: com.oracle.truffle.api.source.SourceImpl$Key java.lang.String
StackMap stack:
aload 24
ifnonnull 130
129: new com.oracle.truffle.api.source.SourceImpl$ImmutableKey
dup
aload 16
aload 17
aload 0
aload 19
aload 15
aload 14
aload 18
iload 10
iload 11
iload 12
aload 25
invokespecial com.oracle.truffle.api.source.SourceImpl$ImmutableKey.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;)V
astore 24
130: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.source.Source.SOURCES:Lcom/oracle/truffle/api/source/InternedSources;
aload 24
invokevirtual com.oracle.truffle.api.source.InternedSources.intern:(Lcom/oracle/truffle/api/source/SourceImpl$Key;)Lcom/oracle/truffle/api/source/Source;
astore 26
start local 26 131: aload 26
invokestatic com.oracle.truffle.api.source.SourceAccessor.onSourceCreated:(Lcom/oracle/truffle/api/source/Source;)V
132: aload 26
areturn
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 133 0 language Ljava/lang/String;
0 133 1 origin Ljava/lang/Object;
0 133 2 name Ljava/lang/String;
0 133 3 path Ljava/lang/String;
0 133 4 canonicalizePath Z
0 133 5 mimeType Ljava/lang/String;
0 133 6 content Ljava/lang/Object;
0 133 7 url Ljava/net/URL;
0 133 8 uri Ljava/net/URI;
0 133 9 encoding Ljava/nio/charset/Charset;
0 133 10 internal Z
0 133 11 interactive Z
0 133 12 cached Z
0 133 13 fileSystemContext Ljava/lang/Object;
1 133 14 useName Ljava/lang/String;
2 133 15 useUri Ljava/net/URI;
3 133 16 useContent Ljava/lang/Object;
4 133 17 useMimeType Ljava/lang/String;
5 133 18 usePath Ljava/lang/String;
6 133 19 useUrl Ljava/net/URL;
7 133 20 useOrigin Ljava/lang/Object;
8 133 21 useEncoding Ljava/nio/charset/Charset;
9 133 22 useTruffleFile Lcom/oracle/truffle/api/TruffleFile;
10 133 23 useFileSystemContext Ljava/lang/Object;
12 15 24 file Ljava/io/File;
14 15 25 truffleFile Lcom/oracle/truffle/api/TruffleFile;
56 99 24 urlPath Ljava/lang/String;
57 99 25 lastIndex I
61 62 26 tmpUri Ljava/net/URI;
64 99 26 tmpUri Ljava/net/URI;
63 64 27 ex Ljava/net/URISyntaxException;
89 97 27 connection Ljava/net/URLConnection;
101 104 24 r Ljava/io/Reader;
118 133 24 key Lcom/oracle/truffle/api/source/SourceImpl$Key;
119 133 25 relativePathInLanguageHome Ljava/lang/String;
123 128 26 fsEngineObject Ljava/lang/Object;
131 133 26 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
60 61 62 Class java.net.URISyntaxException
73 85 86 Class java.nio.file.FileSystemNotFoundException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
language
origin
name
path
canonicalizePath
mimeType
content
url
uri
encoding
internal
interactive
cached
fileSystemContext
static byte[] readBytes(java.net.URLConnection);
descriptor: (Ljava/net/URLConnection;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.net.URLConnection.getContentLengthLong:()J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifge 4
2: ldc 8192
lstore 1
3: goto 6
4: StackMap locals: long
StackMap stack:
lload 1
ldc 2147483647
lcmp
ifle 6
5: new java.lang.OutOfMemoryError
dup
ldc "Too many bytes."
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
7: aload 0
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 5
start local 5 8: aload 5
lload 1
l2i
invokestatic com.oracle.truffle.api.source.Source.readBytes:(Ljava/io/InputStream;I)[B
9: aload 5
ifnull 10
aload 5
invokevirtual java.io.InputStream.close:()V
10: StackMap locals: java.net.URLConnection long java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: byte[]
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 3
12: aload 5
ifnull 13
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
13: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
aload 3
ifnonnull 15
aload 4
astore 3
goto 16
StackMap locals:
StackMap stack:
15: aload 3
aload 4
if_acmpeq 16
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 connection Ljava/net/URLConnection;
1 17 1 size J
8 13 5 inputStream Ljava/io/InputStream;
Exception table:
from to target type
8 9 11 any
7 10 14 any
11 14 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
connection
private static byte[] readBytes(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iload 2
newarray 8
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 5
start local 5 4: StackMap locals: java.io.InputStream int int byte[] int int
StackMap stack:
iload 4
iload 5
iadd
istore 4
end local 5 5: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
iload 2
iload 4
isub
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 5
start local 5 6: ifgt 4
7: iload 5
iflt 18
aload 0
invokevirtual java.io.InputStream.read:()I
dup
istore 5
ifge 9
8: goto 18
9: StackMap locals: int
StackMap stack:
iload 2
ldc 2147483639
iload 2
isub
if_icmpgt 12
10: iload 2
iconst_1
ishl
sipush 8192
invokestatic java.lang.Math.max:(II)I
istore 2
11: goto 15
12: StackMap locals:
StackMap stack:
iload 2
ldc 2147483639
if_icmpne 14
13: new java.lang.OutOfMemoryError
dup
ldc "Required array size too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
ldc 2147483639
istore 2
15: StackMap locals:
StackMap stack:
aload 3
iload 2
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 3
16: aload 3
iload 4
iinc 4 1
iload 5
i2b
bastore
end local 5 17: goto 5
start local 5 18: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmpne 19
aload 3
goto 20
StackMap locals:
StackMap stack:
19: aload 3
iload 4
invokestatic java.util.Arrays.copyOf:([BI)[B
StackMap locals:
StackMap stack: byte[]
20: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 source Ljava/io/InputStream;
0 21 1 initialSize I
1 21 2 capacity I
2 21 3 buf [B
3 21 4 nread I
4 5 5 n I
6 17 5 n I
18 21 5 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
initialSize
static java.lang.String read(com.oracle.truffle.api.TruffleFile, java.nio.charset.Charset);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.String
dup
aload 0
invokevirtual com.oracle.truffle.api.TruffleFile.readAllBytes:()[B
aload 1
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Lcom/oracle/truffle/api/TruffleFile;
0 1 1 encoding Ljava/nio/charset/Charset;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
encoding
static java.lang.String read(java.io.Reader);
descriptor: (Ljava/io/Reader;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: sipush 1024
newarray 5
astore 2
start local 2 2: StackMap locals: java.lang.StringBuilder char[]
StackMap stack:
aload 0
aload 2
invokevirtual java.io.Reader.read:([C)I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpne 5
4: goto 10
5: StackMap locals: int
StackMap stack:
aload 1
aload 2
iconst_0
iload 3
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
end local 3 6: goto 2
7: StackMap locals: java.io.Reader java.lang.StringBuilder char[]
StackMap stack: java.lang.Throwable
astore 4
8: aload 0
invokevirtual java.io.Reader.close:()V
9: aload 4
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.Reader.close:()V
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 reader Ljava/io/Reader;
1 12 1 builder Ljava/lang/StringBuilder;
2 12 2 buffer [C
3 6 3 n I
Exception table:
from to target type
2 7 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
reader
private static java.lang.String digest(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: ldc "SHA-256"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 3
start local 3 1: aload 3
aload 0
iload 1
iload 2
invokevirtual java.security.MessageDigest.update:([BII)V
2: aload 3
invokevirtual java.security.MessageDigest.digest:()[B
astore 4
start local 4 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 11
6: StackMap locals: byte[] int int java.security.MessageDigest byte[] java.lang.StringBuilder int
StackMap stack:
sipush 255
aload 4
iload 6
baload
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 7
start local 7 7: aload 7
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 9
8: aload 5
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals: java.lang.String
StackMap stack:
aload 5
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 4
arraylength
if_icmplt 6
end local 6 12: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: areturn
end local 5 end local 4 end local 3 14: StackMap locals: byte[] int int
StackMap stack: java.security.NoSuchAlgorithmException
astore 3
start local 3 15: new java.lang.AssertionError
dup
ldc "The message digest algorithm SHA-256 is not supported."
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 message [B
0 16 1 from I
0 16 2 length I
1 14 3 md Ljava/security/MessageDigest;
3 14 4 digest [B
4 14 5 result Ljava/lang/StringBuilder;
5 12 6 i I
7 10 7 hex Ljava/lang/String;
15 16 3 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
0 13 14 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
message
from
length
static <E extends java.lang.Exception> E raise(java.lang.Class<E>, java.lang.Exception) throws E;
descriptor: (Ljava/lang/Class;Ljava/lang/Exception;)Ljava/lang/Exception;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<TE;>;
0 1 1 ex Ljava/lang/Exception;
Exceptions:
throws java.lang.Exception
Signature: <E:Ljava/lang/Exception;>(Ljava/lang/Class<TE;>;Ljava/lang/Exception;)TE;^TE;
MethodParameters:
Name Flags
type
ex
static java.lang.Object enforceInterfaceContracts(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 2
iconst_1
dup
istore 1
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
iload 1
ifeq 8
3: aload 0
instanceof java.lang.CharSequence
ifeq 5
4: aload 0
checkcast java.lang.CharSequence
invokestatic com.oracle.truffle.api.source.Source.enforceCharSequenceContracts:(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
areturn
5: StackMap locals:
StackMap stack:
aload 0
ifnull 8
6: getstatic com.oracle.truffle.api.source.Source.$assertionsDisabled:Z
ifne 7
aload 0
instanceof org.graalvm.polyglot.io.ByteSequence
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
checkcast org.graalvm.polyglot.io.ByteSequence
invokestatic com.oracle.truffle.api.source.Source.enforceByteSequenceContracts:(Lorg/graalvm/polyglot/io/ByteSequence;)Lorg/graalvm/polyglot/io/ByteSequence;
areturn
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sequence Ljava/lang/Object;
1 9 1 assertions Z
MethodParameters:
Name Flags
sequence
static org.graalvm.polyglot.io.ByteSequence enforceByteSequenceContracts(org.graalvm.polyglot.io.ByteSequence);
descriptor: (Lorg/graalvm/polyglot/io/ByteSequence;)Lorg/graalvm/polyglot/io/ByteSequence;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.source.Source.BYTE_SEQUENCE_CLASS:Ljava/lang/Class;
aload 0
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.source.ByteSequenceWrapper
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.ByteSequenceWrapper
dup
aload 0
invokespecial com.oracle.truffle.api.source.ByteSequenceWrapper.<init>:(Lorg/graalvm/polyglot/io/ByteSequence;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sequence Lorg/graalvm/polyglot/io/ByteSequence;
MethodParameters:
Name Flags
sequence
static java.lang.CharSequence enforceCharSequenceContracts(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.source.CharSequenceWrapper
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.source.CharSequenceWrapper
dup
aload 0
invokespecial com.oracle.truffle.api.source.CharSequenceWrapper.<init>:(Ljava/lang/CharSequence;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sequence Ljava/lang/CharSequence;
MethodParameters:
Name Flags
sequence
static java.lang.String findMimeType(java.net.URL, java.net.URLConnection, java.util.Set<java.lang.String>, );
descriptor: (Ljava/net/URL;Ljava/net/URLConnection;Ljava/util/Set;Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
astore 4
start local 4 1: aload 4
aload 3
invokestatic com.oracle.truffle.api.source.SourceAccessor.getTruffleFile:(Ljava/net/URI;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
astore 5
start local 5 2: aload 5
aload 2
invokestatic com.oracle.truffle.api.source.SourceAccessor.detectMimeType:(Lcom/oracle/truffle/api/TruffleFile;Ljava/util/Set;)Ljava/lang/String;
astore 6
start local 6 3: aload 6
ifnull 7
4: aload 6
5: areturn
end local 6 end local 5 end local 4 6: StackMap locals:
StackMap stack: java.lang.Exception
pop
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.source.Source.ALLOW_IO:Z
ifeq 8
aload 3
invokestatic com.oracle.truffle.api.source.SourceAccessor.hasAllAccess:(Ljava/lang/Object;)Z
ifne 9
8: StackMap locals:
StackMap stack:
new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "Reading of URL "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not allowed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URLConnection.getContentType:()Ljava/lang/String;
astore 4
start local 4 10: aload 4
ifnull 12
aload 2
ifnull 11
aload 2
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 12
11: StackMap locals: java.lang.String
StackMap stack:
aload 4
areturn
12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 url Ljava/net/URL;
0 13 1 connection Ljava/net/URLConnection;
0 13 2 validMimeTypes Ljava/util/Set<Ljava/lang/String;>;
0 13 3 fileSystemContext Ljava/lang/Object;
1 6 4 uri Ljava/net/URI;
2 6 5 file Lcom/oracle/truffle/api/TruffleFile;
3 6 6 firstGuess Ljava/lang/String;
10 13 4 contentType Ljava/lang/String;
Exception table:
from to target type
0 5 6 Class java.net.URISyntaxException
0 5 6 Class java.lang.IllegalArgumentException
0 5 6 Class java.nio.file.FileSystemNotFoundException
Signature: (Ljava/net/URL;Ljava/net/URLConnection;Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/Object;)Ljava/lang/String;
MethodParameters:
Name Flags
url final
connection
validMimeTypes
fileSystemContext
static boolean isCharacterBased(java.lang.Object, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.api.source.SourceAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getFileSystemEngineObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 3
aload 1
aload 2
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.isCharacterBasedSource:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fileSystemContext Ljava/lang/Object;
0 2 1 language Ljava/lang/String;
0 2 2 mimeType Ljava/lang/String;
1 2 3 engineObject Ljava/lang/Object;
MethodParameters:
Name Flags
fileSystemContext
language
mimeType
static java.util.Set<java.lang.String> getValidMimeTypes(, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.source.SourceAccessor.ACCESSOR:Lcom/oracle/truffle/api/source/SourceAccessor;
invokevirtual com.oracle.truffle.api.source.SourceAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.oracle.truffle.api.impl.Accessor$EngineSupport
StackMap stack:
aload 2
getstatic com.oracle.truffle.api.source.SourceAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.getFileSystemEngineObject:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getValidMimeTypes:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 fileSystemContext Ljava/lang/Object;
0 4 1 language Ljava/lang/String;
1 4 2 support Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
Signature: (Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
fileSystemContext
language
private static void validateMimeType(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 3: iload 1
iconst_m1
if_icmpeq 4
iload 1
ifeq 4
iload 1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 5
4: StackMap locals: int
StackMap stack:
invokestatic com.oracle.truffle.api.source.Source.invalidMimeType:()Ljava/lang/IllegalArgumentException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
bipush 47
iload 1
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
iconst_m1
if_icmpeq 7
6: invokestatic com.oracle.truffle.api.source.Source.invalidMimeType:()Ljava/lang/IllegalArgumentException;
athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 mimeType Ljava/lang/String;
3 8 1 index I
MethodParameters:
Name Flags
mimeType
static <E extends java.lang.Exception> java.lang.RuntimeException silenceException(java.lang.Class<E>, java.lang.Exception) throws E;
descriptor: (Ljava/lang/Class;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<TE;>;
0 1 1 ex Ljava/lang/Exception;
Exceptions:
throws java.lang.Exception
Signature: <E:Ljava/lang/Exception;>(Ljava/lang/Class<TE;>;Ljava/lang/Exception;)Ljava/lang/RuntimeException;^TE;
MethodParameters:
Name Flags
type
ex
private static java.nio.charset.Charset findEncoding(com.oracle.truffle.api.TruffleFile, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.truffle.api.source.SourceAccessor.detectEncoding:(Lcom/oracle/truffle/api/TruffleFile;Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 2
start local 2 1: aload 2
ifnonnull 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
goto 3
StackMap locals: java.nio.charset.Charset
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: java.nio.charset.Charset
3: astore 2
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 file Lcom/oracle/truffle/api/TruffleFile;
0 5 1 mimeType Ljava/lang/String;
1 5 2 encoding Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
file
mimeType
private static java.lang.Object getSourceContent(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
checkcast com.oracle.truffle.api.source.SourceImpl
invokevirtual com.oracle.truffle.api.source.SourceImpl.toKey:()Lcom/oracle/truffle/api/source/SourceImpl$Key;
getfield com.oracle.truffle.api.source.SourceImpl$Key.content:Ljava/lang/Object;
astore 1
start local 1 1: aload 1
getstatic com.oracle.truffle.api.source.Source.CONTENT_NONE:Ljava/lang/CharSequence;
if_acmpne 3
2: getstatic com.oracle.truffle.api.source.Source.CONTENT_UNSET:Ljava/lang/CharSequence;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 source Lcom/oracle/truffle/api/source/Source;
1 4 1 content Ljava/lang/Object;
MethodParameters:
Name Flags
source
private static void resetNativeImageState();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.api.source.Source.SOURCES:Lcom/oracle/truffle/api/source/InternedSources;
invokevirtual com.oracle.truffle.api.source.InternedSources.resetNativeImageState:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Source.java"
NestMembers:
com.oracle.truffle.api.source.Source$LiteralBuilder com.oracle.truffle.api.source.Source$SourceBuilder
InnerClasses:
public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
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
final ImmutableKey = com.oracle.truffle.api.source.SourceImpl$ImmutableKey of com.oracle.truffle.api.source.SourceImpl
abstract Key = com.oracle.truffle.api.source.SourceImpl$Key of com.oracle.truffle.api.source.SourceImpl
final ReinitializableKey = com.oracle.truffle.api.source.SourceImpl$ReinitializableKey of com.oracle.truffle.api.source.SourceImpl
final Indexed = com.oracle.truffle.api.source.SourceSectionUnloaded$Indexed of com.oracle.truffle.api.source.SourceSectionUnloaded
final Lines = com.oracle.truffle.api.source.SourceSectionUnloaded$Lines of com.oracle.truffle.api.source.SourceSectionUnloaded
final LinesAndColumns = com.oracle.truffle.api.source.SourceSectionUnloaded$LinesAndColumns of com.oracle.truffle.api.source.SourceSectionUnloaded