final class com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor implements com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor
super_class: java.lang.Object
{
private final java.lang.String tagName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] varNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.source.SourceSection[] sourceSections;
descriptor: [Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.interop.TruffleObject keys;
descriptor: Lcom/oracle/truffle/api/interop/TruffleObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ldc "R"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
3: aload 0
ldc "readVariableName"
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.tagName:Ljava/lang/String;
4: iconst_1
istore 3
start local 3 5: goto 12
end local 3 StackMap locals: com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor com.oracle.truffle.api.source.Source java.lang.String
StackMap stack:
6: aload 2
ldc "W"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
7: aload 0
ldc "writeVariableName"
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.tagName:Ljava/lang/String;
8: iconst_1
istore 3
start local 3 9: goto 12
end local 3 10: StackMap locals:
StackMap stack:
aload 0
ldc "Bad"
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.tagName:Ljava/lang/String;
11: iconst_4
istore 3
start local 3 12: StackMap locals: int
StackMap stack:
aload 0
new com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectArray
dup
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.tagName:Ljava/lang/String;
aastore
invokespecial com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectArray.<init>:([Ljava/lang/Object;)V
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.keys:Lcom/oracle/truffle/api/interop/TruffleObject;
13: aload 2
iload 3
iinc 3 1
invokevirtual java.lang.String.charAt:(I)C
bipush 83
if_icmpne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 4
start local 4 16: aload 0
aload 2
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
17: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
arraylength
anewarray com.oracle.truffle.api.source.SourceSection
putfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.sourceSections:[Lcom/oracle/truffle/api/source/SourceSection;
18: iload 4
ifeq 29
19: iconst_0
istore 5
start local 5 20: iload 3
istore 6
start local 6 21: StackMap locals: int int int
StackMap stack:
aload 2
bipush 44
iload 6
invokevirtual java.lang.String.indexOf:(II)I
istore 7
start local 7 22: iload 7
ifge 24
23: aload 2
invokevirtual java.lang.String.length:()I
istore 7
24: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.sourceSections:[Lcom/oracle/truffle/api/source/SourceSection;
iload 5
aload 1
iload 6
iload 7
iload 6
isub
invokevirtual com.oracle.truffle.api.source.Source.createSection:(II)Lcom/oracle/truffle/api/source/SourceSection;
aastore
25: iload 7
iconst_1
iadd
istore 6
26: iinc 5 1
27: iload 6
aload 2
invokevirtual java.lang.String.length:()I
28: if_icmplt 21
end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NodeObjectDescriptor;
0 30 1 source Lcom/oracle/truffle/api/source/Source;
2 30 2 code Ljava/lang/String;
5 6 3 index I
9 10 3 index I
12 30 3 index I
16 30 4 haveSourceSections Z
20 29 5 i I
21 29 6 i1 I
22 29 7 i2 I
MethodParameters:
Name Flags
source
boolean hasMembers();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NodeObjectDescriptor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean isMemberReadable(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.tagName:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NodeObjectDescriptor;
0 1 1 member Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
member
java.lang.Object getMembers(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.keys:Lcom/oracle/truffle/api/interop/TruffleObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NodeObjectDescriptor;
0 1 1 includeInternal Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
includeInternal
java.lang.Object readMember(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.isMemberReadable:(Ljava/lang/String;)Z
ifeq 12
1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
arraylength
iconst_1
if_icmpne 5
2: ldc "string"
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
iconst_0
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
iconst_0
aaload
areturn
4: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
iconst_0
aaload
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.sourceSections:[Lcom/oracle/truffle/api/source/SourceSection;
iconst_0
aaload
invokespecial com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol.<init>:(Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
arraylength
anewarray com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 10
8: StackMap locals: com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol[] int
StackMap stack:
aload 2
iload 3
new com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
iload 3
aaload
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.sourceSections:[Lcom/oracle/truffle/api/source/SourceSection;
iload 3
aaload
invokespecial com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol.<init>:(Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;)V
aastore
9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor.varNames:[Ljava/lang/String;
arraylength
if_icmplt 8
end local 3 11: new com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectArray
dup
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectArray.<init>:([Ljava/lang/Object;)V
areturn
end local 2 12: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NodeObjectDescriptor;
0 13 1 member Ljava/lang/String;
6 12 2 symbols [Lcom/oracle/truffle/api/instrumentation/test/TagsTest$RWVariableLanguage$NameSymbol;
7 11 3 i I
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
member
}
SourceFile: "TagsTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.TagsTest
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public RWVariableLanguage = com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage of com.oracle.truffle.api.instrumentation.test.TagsTest
final NameSymbol = com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NameSymbol of com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage
final NodeObjectArray = com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectArray of com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage
final NodeObjectDescriptor = com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage$NodeObjectDescriptor of com.oracle.truffle.api.instrumentation.test.TagsTest$RWVariableLanguage
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)