public final class com.oracle.truffle.js.runtime.interop.TopScopeObject implements com.oracle.truffle.api.interop.TruffleObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.interop.TopScopeObject
super_class: java.lang.Object
{
private static final java.lang.String[] NAMES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private final java.lang.Object[] objects;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int scopeIndex;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "scriptEngineImport"
aastore
dup
iconst_1
ldc "global"
aastore
dup
iconst_2
ldc "global"
aastore
putstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
2: aload 1
iconst_0
aaload
ifnull 5
3: aload 0
iconst_0
putfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
4: goto 6
5: StackMap locals: com.oracle.truffle.js.runtime.interop.TopScopeObject java.lang.Object[]
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 7 1 objects [Ljava/lang/Object;
MethodParameters:
Name Flags
objects
private void <init>(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
2: aload 0
iload 2
putfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 4 1 objects [Ljava/lang/Object;
0 4 2 index I
MethodParameters:
Name Flags
objects
index
boolean hasLanguage();
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/js/runtime/interop/TopScopeObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean isScope();
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/js/runtime/interop/TopScopeObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object toDisplayString(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 1 1 allowSideEffects Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
allowSideEffects
boolean hasScopeParent();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
iconst_1
isub
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getScopeParent();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
iconst_1
isub
if_icmpge 2
1: new com.oracle.truffle.js.runtime.interop.TopScopeObject
dup
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
iconst_1
iadd
invokespecial com.oracle.truffle.js.runtime.interop.TopScopeObject.<init>:([Ljava/lang/Object;I)V
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
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/js/runtime/interop/TopScopeObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object getMembers(boolean, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (ZLcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: iload 3
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
isub
anewarray java.lang.Object
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 5
start local 5 3: goto 6
4: StackMap locals: int java.lang.Object[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
isub
aload 2
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 5
aaload
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 3
if_icmplt 4
end local 5 7: new com.oracle.truffle.js.runtime.interop.TopScopeObject$MergedPropertyNames
dup
aload 4
invokespecial com.oracle.truffle.js.runtime.interop.TopScopeObject$MergedPropertyNames.<init>:([Ljava/lang/Object;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 8 1 includeInternal Z
0 8 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 8 3 length I
2 8 4 keys [Ljava/lang/Object;
3 7 5 i I
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
includeInternal
interop
boolean isMemberReadable(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 3
if_icmplt 3
end local 4 7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 8 1 member Ljava/lang/String;
0 8 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 8 3 length I
2 7 4 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
java.lang.Object readMember(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 6
5: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 3
end local 4 8: aload 1
invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 9 1 member Ljava/lang/String;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 9 3 length I
2 8 4 i I
4 6 5 scope Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
boolean isMemberModifiable(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberModifiable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 6
5: iconst_1
ireturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 3
end local 4 8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 9 1 member Ljava/lang/String;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 9 3 length I
2 8 4 i I
4 6 5 scope Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
boolean isMemberInsertable(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 5
start local 5 3: goto 10
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 5
aaload
astore 6
start local 6 5: aload 2
aload 6
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 6
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 9
8: iconst_1
istore 4
end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 3
if_icmplt 4
end local 5 11: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 12 1 member Ljava/lang/String;
0 12 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 12 3 length I
2 12 4 wasInsertable Z
3 11 5 i I
5 9 6 scope Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
boolean hasMemberReadSideEffects(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 6
5: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMemberReadSideEffects:(Ljava/lang/Object;Ljava/lang/String;)Z
ireturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 3
end local 4 8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 9 1 member Ljava/lang/String;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 9 3 length I
2 8 4 i I
4 6 5 scope Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
boolean hasMemberWriteSideEffects(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberWritable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 6
5: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMemberWriteSideEffects:(Ljava/lang/Object;Ljava/lang/String;)Z
ireturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 3
end local 4 8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 9 1 member Ljava/lang/String;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 9 3 length I
2 8 4 i I
4 6 5 scope Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
void writeMember(java.lang.String, java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 6
start local 6 3: goto 13
4: StackMap locals: int java.lang.Object int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 6
aaload
astore 7
start local 7 5: aload 3
aload 7
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 10
6: aload 3
aload 7
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberModifiable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 9
7: aload 3
aload 7
aload 1
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
8: return
9: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
10: StackMap locals:
StackMap stack:
aload 3
aload 7
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 12
aload 5
ifnonnull 12
11: aload 7
astore 5
end local 7 12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 4
if_icmplt 4
end local 6 14: aload 5
ifnull 17
15: aload 3
aload 5
aload 1
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
16: return
17: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
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/js/runtime/interop/TopScopeObject;
0 18 1 member Ljava/lang/String;
0 18 2 value Ljava/lang/Object;
0 18 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 18 4 length I
2 18 5 firstInsertableScope Ljava/lang/Object;
3 14 6 i I
5 12 7 scope Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
value
interop
boolean isMemberRemovable(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberRemovable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 8
7: iconst_0
ireturn
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 3
end local 4 10: iconst_0
ireturn
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/js/runtime/interop/TopScopeObject;
0 11 1 member Ljava/lang/String;
0 11 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 11 3 length I
2 10 4 i I
4 8 5 scope Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
void removeMember(java.lang.String, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/interop/InteropLibrary;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.interop.TopScopeObject.NAMES:[Ljava/lang/String;
arraylength
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.scopeIndex:I
istore 4
start local 4 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.interop.TopScopeObject.objects:[Ljava/lang/Object;
iload 4
aaload
astore 5
start local 5 4: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberRemovable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 7
5: aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
6: return
7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 5
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 9
8: goto 11
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 3
end local 4 11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/js/runtime/interop/TopScopeObject;
0 12 1 member Ljava/lang/String;
0 12 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 12 3 length I
2 11 4 i I
4 9 5 scope Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached$Shared(value = "interop")
com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
MethodParameters:
Name Flags
member
interop
}
SourceFile: "TopScopeObject.java"
NestMembers:
com.oracle.truffle.js.runtime.interop.TopScopeObject$MergedPropertyNames
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
final MergedPropertyNames = com.oracle.truffle.js.runtime.interop.TopScopeObject$MergedPropertyNames of com.oracle.truffle.js.runtime.interop.TopScopeObject
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})