final class com.oracle.truffle.polyglot.LegacyScopesBridge
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.LegacyScopesBridge
super_class: java.lang.Object
{
private static final com.oracle.truffle.api.interop.InteropLibrary INTEROP;
descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
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=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/LegacyScopesBridge;
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.polyglot.LegacyScopesBridge.$assertionsDisabled:Z
3: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
putstatic com.oracle.truffle.polyglot.LegacyScopesBridge.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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/polyglot/LegacyScopesBridge;
static java.lang.Iterable<com.oracle.truffle.api.Scope> findLibraryLocalScopesToLegacy(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=15, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/NodeLibrary;
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifne 3
2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
3: StackMap locals: com.oracle.truffle.api.interop.NodeLibrary
StackMap stack:
aload 2
aload 0
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;Z)Ljava/lang/Object;
astore 3
start local 3 4: goto 7
end local 3 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
5: pop
6: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
start local 3 7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 0
aload 1
invokestatic com.oracle.truffle.polyglot.LegacyScopesBridge.getReceiverName:(Lcom/oracle/truffle/api/interop/NodeLibrary;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/String;
astore 4
start local 4 8: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 5
start local 5 9: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 10: goto 55
11: StackMap locals: java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList
StackMap stack:
aload 3
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 7
start local 7 12: aconst_null
astore 8
start local 8 13: aload 7
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
ifeq 18
14: aload 7
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
15: goto 18
StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
16: astore 9
start local 9 17: aload 9
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 9 18: StackMap locals:
StackMap stack:
aload 8
ifnull 25
19: new com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables
dup
aload 3
aload 8
aconst_null
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
astore 10
start local 10 20: aload 4
ifnull 23
21: new com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables
dup
aload 3
aload 8
aload 4
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
astore 9
start local 9 22: goto 30
end local 9 23: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object top java.lang.Object
StackMap stack:
aload 10
astore 9
start local 9 24: goto 30
end local 10 end local 9 25: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object
StackMap stack:
aload 3
astore 10
start local 10 26: aload 4
ifnull 29
27: new com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables
dup
aload 3
aload 4
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
astore 9
start local 9 28: goto 30
end local 9 29: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object top java.lang.Object
StackMap stack:
aload 3
astore 9
start local 9 30: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 7
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 11
start local 11 31: goto 35
end local 11 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
32: pop
33: getstatic com.oracle.truffle.polyglot.LegacyScopesBridge.$assertionsDisabled:Z
ifne 34
new java.lang.AssertionError
dup
ldc "Scope %s does not support toDisplayString()"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
34: StackMap locals:
StackMap stack:
ldc "local"
astore 11
start local 11 35: StackMap locals: java.lang.String
StackMap stack:
aload 11
aload 9
invokestatic com.oracle.truffle.api.Scope.newBuilder:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/Scope$Builder;
astore 12
start local 12 36: aconst_null
astore 13
start local 13 37: aload 7
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
ifeq 42
38: aload 7
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
astore 13
39: goto 42
StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList com.oracle.truffle.api.interop.InteropLibrary java.lang.Object java.lang.Object java.lang.Object java.lang.String com.oracle.truffle.api.Scope$Builder com.oracle.truffle.api.source.SourceSection
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
40: astore 14
start local 14 41: aload 14
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 14 42: StackMap locals:
StackMap stack:
aload 13
ifnull 53
43: aload 13
aload 5
invokevirtual com.oracle.truffle.api.source.SourceSection.equals:(Ljava/lang/Object;)Z
ifeq 46
44: aload 0
aload 1
aload 2
aload 12
aload 10
invokestatic com.oracle.truffle.polyglot.LegacyScopesBridge.buildFunctionScope:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/interop/NodeLibrary;Lcom/oracle/truffle/api/Scope$Builder;Ljava/lang/Object;)V
45: goto 53
46: StackMap locals:
StackMap stack:
aload 0
astore 14
start local 14 47: goto 52
48: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 14
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 51
aload 13
aload 14
invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.equals:(Ljava/lang/Object;)Z
ifeq 51
49: aload 12
aload 14
invokevirtual com.oracle.truffle.api.Scope$Builder.node:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/Scope$Builder;
pop
50: goto 53
51: StackMap locals:
StackMap stack:
aload 14
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 14
52: StackMap locals:
StackMap stack:
aload 14
ifnonnull 48
end local 14 53: StackMap locals:
StackMap stack:
aload 6
aload 12
invokevirtual com.oracle.truffle.api.Scope$Builder.build:()Lcom/oracle/truffle/api/Scope;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
54: aload 8
astore 3
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 55: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary java.lang.Object java.lang.String com.oracle.truffle.api.source.SourceSection java.util.ArrayList
StackMap stack:
aload 3
ifnonnull 11
56: aload 6
areturn
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 57 0 node Lcom/oracle/truffle/api/nodes/Node;
0 57 1 frame Lcom/oracle/truffle/api/frame/Frame;
1 57 2 nodeLibrary Lcom/oracle/truffle/api/interop/NodeLibrary;
4 5 3 scopeObject Ljava/lang/Object;
7 57 3 scopeObject Ljava/lang/Object;
8 57 4 receiverName Ljava/lang/String;
9 57 5 rootSection Lcom/oracle/truffle/api/source/SourceSection;
10 57 6 scopes Ljava/util/ArrayList<Lcom/oracle/truffle/api/Scope;>;
12 55 7 scopeInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
13 55 8 scopeParent Ljava/lang/Object;
17 18 9 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
22 23 9 variables Ljava/lang/Object;
24 25 9 variables Ljava/lang/Object;
28 29 9 variables Ljava/lang/Object;
30 55 9 variables Ljava/lang/Object;
20 25 10 variablesWithReceiver Ljava/lang/Object;
26 55 10 variablesWithReceiver Ljava/lang/Object;
31 32 11 name Ljava/lang/String;
35 55 11 name Ljava/lang/String;
36 55 12 scopeBuilder Lcom/oracle/truffle/api/Scope$Builder;
37 55 13 sourceLocation Lcom/oracle/truffle/api/source/SourceSection;
41 42 14 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
47 53 14 scopeNode Lcom/oracle/truffle/api/nodes/Node;
Exception table:
from to target type
3 4 5 Class com.oracle.truffle.api.interop.UnsupportedMessageException
14 15 16 Class com.oracle.truffle.api.interop.UnsupportedMessageException
30 31 32 Class com.oracle.truffle.api.interop.UnsupportedMessageException
38 39 40 Class com.oracle.truffle.api.interop.UnsupportedMessageException
Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
MethodParameters:
Name Flags
node
frame
private static java.lang.String getReceiverName(com.oracle.truffle.api.interop.NodeLibrary, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame);
descriptor: (Lcom/oracle/truffle/api/interop/NodeLibrary;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasReceiverMember:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 5
1: getstatic com.oracle.truffle.polyglot.LegacyScopesBridge.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getReceiverMember:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
2: areturn
3: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 3
start local 3 4: aload 3
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 nodeLibrary Lcom/oracle/truffle/api/interop/NodeLibrary;
0 6 1 node Lcom/oracle/truffle/api/nodes/Node;
0 6 2 frame Lcom/oracle/truffle/api/frame/Frame;
4 5 3 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
nodeLibrary
node
frame
private static void buildFunctionScope(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame, com.oracle.truffle.api.interop.NodeLibrary, com.oracle.truffle.api.Scope$Builder, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/interop/NodeLibrary;Lcom/oracle/truffle/api/Scope$Builder;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.Scope$Builder.node:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/Scope$Builder;
pop
1: aload 0
aload 1
invokestatic com.oracle.truffle.polyglot.LegacyScopesBridge.getArguments:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 3
aload 5
invokevirtual com.oracle.truffle.api.Scope$Builder.arguments:(Ljava/lang/Object;)Lcom/oracle/truffle/api/Scope$Builder;
pop
4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasReceiverMember:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 13
5: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getReceiverMember:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 4
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 9
8: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 4
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 7
9: StackMap locals: java.lang.String java.lang.Object
StackMap stack:
aload 3
aload 6
aload 7
invokevirtual com.oracle.truffle.api.Scope$Builder.receiver:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/Scope$Builder;
pop
end local 7 end local 6 10: goto 13
StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.interop.NodeLibrary com.oracle.truffle.api.Scope$Builder java.lang.Object java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.InteropException
11: astore 6
start local 6 12: aload 6
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 13: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 20
14: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
astore 6
start local 6 15: aload 6
ifnull 20
16: aload 3
aload 6
invokevirtual com.oracle.truffle.api.Scope$Builder.rootInstance:(Ljava/lang/Object;)Lcom/oracle/truffle/api/Scope$Builder;
pop
end local 6 17: goto 20
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
18: astore 6
start local 6 19: aload 6
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 20: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 node Lcom/oracle/truffle/api/nodes/Node;
0 21 1 frame Lcom/oracle/truffle/api/frame/Frame;
0 21 2 nodeLibrary Lcom/oracle/truffle/api/interop/NodeLibrary;
0 21 3 scopeBuilder Lcom/oracle/truffle/api/Scope$Builder;
0 21 4 variablesWithReceiver Ljava/lang/Object;
2 21 5 arguments Ljava/lang/Object;
6 10 6 receiverName Ljava/lang/String;
7 10 7 receiverValue Ljava/lang/Object;
12 13 6 ex Lcom/oracle/truffle/api/interop/InteropException;
15 17 6 rootInstance Ljava/lang/Object;
19 20 6 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
5 10 11 Class com.oracle.truffle.api.interop.UnsupportedMessageException
5 10 11 Class com.oracle.truffle.api.interop.UnknownIdentifierException
14 17 18 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
node
frame
nodeLibrary
scopeBuilder
variablesWithReceiver
static java.lang.Iterable<com.oracle.truffle.api.Scope> topScopesToLegacy();
descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 21
3: StackMap locals: java.util.ArrayList java.lang.Object
StackMap stack:
aload 2
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
ifeq 10
6: aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
7: goto 10
StackMap locals: java.lang.Object java.util.ArrayList java.lang.Object com.oracle.truffle.api.interop.InteropLibrary java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
8: astore 5
start local 5 9: aload 5
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 10: StackMap locals:
StackMap stack:
aload 4
ifnull 13
11: new com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables
dup
aload 2
aload 4
aconst_null
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
astore 5
start local 5 12: goto 14
end local 5 13: StackMap locals:
StackMap stack:
aload 2
astore 5
start local 5 14: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 3
aload 2
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 15: goto 18
end local 6 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
16: pop
17: ldc "global"
astore 6
start local 6 18: StackMap locals: java.lang.String
StackMap stack:
aload 6
aload 5
invokestatic com.oracle.truffle.api.Scope.newBuilder:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/Scope$Builder;
astore 7
start local 7 19: aload 1
aload 7
invokevirtual com.oracle.truffle.api.Scope$Builder.build:()Lcom/oracle/truffle/api/Scope;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 4
astore 2
end local 7 end local 6 end local 5 end local 4 end local 3 21: StackMap locals: java.lang.Object java.util.ArrayList java.lang.Object
StackMap stack:
aload 2
ifnonnull 3
22: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 scopeObjectOriginal Ljava/lang/Object;
1 23 1 scopes Ljava/util/ArrayList<Lcom/oracle/truffle/api/Scope;>;
2 23 2 scopeObject Ljava/lang/Object;
4 21 3 scopeInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
5 21 4 scopeParent Ljava/lang/Object;
9 10 5 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
12 13 5 variables Ljava/lang/Object;
14 21 5 variables Ljava/lang/Object;
15 16 6 name Ljava/lang/String;
18 21 6 name Ljava/lang/String;
19 21 7 scopeBuilder Lcom/oracle/truffle/api/Scope$Builder;
Exception table:
from to target type
6 7 8 Class com.oracle.truffle.api.interop.UnsupportedMessageException
14 15 16 Class com.oracle.truffle.api.interop.UnsupportedMessageException
Signature: (Ljava/lang/Object;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
MethodParameters:
Name Flags
scopeObjectOriginal
private static java.lang.Object getArguments(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: goto 3
2: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 2
3: StackMap locals:
StackMap stack:
aload 2
ifnull 4
aload 2
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 2
aload 2
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 2
4: StackMap locals:
StackMap stack:
aload 2
ifnull 5
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getUncached:()Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifne 6
5: StackMap locals:
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getUncached:()Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 2
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;Z)Ljava/lang/Object;
astore 3
start local 3 7: invokestatic com.oracle.truffle.api.interop.NodeLibrary.getUncached:()Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 2
aload 1
invokestatic com.oracle.truffle.polyglot.LegacyScopesBridge.getReceiverName:(Lcom/oracle/truffle/api/interop/NodeLibrary;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/String;
astore 4
start local 4 8: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
ifeq 11
9: new com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables
dup
aload 3
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
aload 4
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
astore 3
10: goto 13
StackMap locals: java.lang.Object java.lang.String
StackMap stack:
11: aload 4
ifnull 13
12: new com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables
dup
aload 3
aload 4
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
astore 3
13: StackMap locals:
StackMap stack:
aload 3
14: areturn
end local 4 end local 3 15: StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.frame.Frame com.oracle.truffle.api.nodes.Node
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
16: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 node Lcom/oracle/truffle/api/nodes/Node;
0 17 1 frame Lcom/oracle/truffle/api/frame/Frame;
1 17 2 n Lcom/oracle/truffle/api/nodes/Node;
7 15 3 argScope Ljava/lang/Object;
8 15 4 receiverName Ljava/lang/String;
Exception table:
from to target type
6 14 15 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
node
frame
static boolean legacyScopesHasScope(com.oracle.truffle.api.nodes.NodeInterface, java.util.Iterator<com.oracle.truffle.api.Scope>);
descriptor: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.LegacyScopesBridge.$assertionsDisabled:Z
ifne 1
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 8
aload 0
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 8
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.Scope
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.api.Scope.getNode:()Lcom/oracle/truffle/api/nodes/Node;
ifnull 5
aload 2
invokevirtual com.oracle.truffle.api.Scope.getNode:()Lcom/oracle/truffle/api/nodes/Node;
instanceof com.oracle.truffle.api.nodes.RootNode
ifeq 7
5: StackMap locals: com.oracle.truffle.api.Scope
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.Scope.getArguments:()Ljava/lang/Object;
ifnull 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 node Lcom/oracle/truffle/api/nodes/NodeInterface;
0 9 1 legacyScopes Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;
4 7 2 scope Lcom/oracle/truffle/api/Scope;
Signature: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;)Z
MethodParameters:
Name Flags
node
legacyScopes
static legacyScopes2ScopeObject(com.oracle.truffle.api.nodes.NodeInterface, java.util.Iterator<com.oracle.truffle.api.Scope>, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
descriptor: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
1: new com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyObject
dup
aload 2
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyObject.<init>:(Ljava/lang/Class;)V
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
3: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 4: aload 0
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 16
aload 0
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 16
5: goto 13
6: StackMap locals: java.util.ArrayList
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.Scope
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 4
invokevirtual com.oracle.truffle.api.Scope.getNode:()Lcom/oracle/truffle/api/nodes/Node;
ifnull 9
aload 4
invokevirtual com.oracle.truffle.api.Scope.getNode:()Lcom/oracle/truffle/api/nodes/Node;
instanceof com.oracle.truffle.api.nodes.RootNode
ifeq 13
9: StackMap locals: com.oracle.truffle.api.Scope
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.Scope.getArguments:()Ljava/lang/Object;
astore 5
start local 5 10: aload 5
ifnonnull 12
11: aconst_null
areturn
12: StackMap locals: java.lang.Object
StackMap stack:
new com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes
dup
iconst_1
anewarray com.oracle.truffle.api.Scope
dup
iconst_0
aload 4
aastore
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
aload 2
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes.<init>:([Lcom/oracle/truffle/api/Scope;[Ljava/lang/Object;Ljava/lang/Class;)V
areturn
end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: goto 17
15: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.Scope
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
17: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.api.Scope
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.Scope[]
astore 4
start local 4 18: aload 4
arraylength
anewarray java.lang.Object
astore 5
start local 5 19: iconst_0
istore 6
start local 6 20: goto 23
21: StackMap locals: com.oracle.truffle.api.Scope[] java.lang.Object[] int
StackMap stack:
aload 5
iload 6
aload 4
iload 6
aaload
invokevirtual com.oracle.truffle.api.Scope.getVariables:()Ljava/lang/Object;
aastore
22: iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
aload 4
arraylength
if_icmplt 21
end local 6 24: new com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes
dup
aload 4
aload 5
aload 2
invokespecial com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes.<init>:([Lcom/oracle/truffle/api/Scope;[Ljava/lang/Object;Ljava/lang/Class;)V
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 25 0 node Lcom/oracle/truffle/api/nodes/NodeInterface;
0 25 1 legacyScopes Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;
0 25 2 language Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
4 25 3 scopesList Ljava/util/ArrayList<Lcom/oracle/truffle/api/Scope;>;
7 13 4 scope Lcom/oracle/truffle/api/Scope;
10 13 5 argumentsObj Ljava/lang/Object;
18 25 4 scopes [Lcom/oracle/truffle/api/Scope;
19 25 5 variables [Ljava/lang/Object;
20 24 6 i I
Signature: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
node
legacyScopes
language
}
SourceFile: "LegacyScopesBridge.java"
NestMembers:
com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyKeys com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyObject com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes$1 com.oracle.truffle.polyglot.LegacyScopesBridge$MergedVarNames com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedKeys com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedReceiver com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables
InnerClasses:
public final Builder = com.oracle.truffle.api.Scope$Builder of com.oracle.truffle.api.Scope
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
EmptyKeys = com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyKeys of com.oracle.truffle.polyglot.LegacyScopesBridge
EmptyObject = com.oracle.truffle.polyglot.LegacyScopesBridge$EmptyObject of com.oracle.truffle.polyglot.LegacyScopesBridge
final MergedScopes = com.oracle.truffle.polyglot.LegacyScopesBridge$MergedScopes of com.oracle.truffle.polyglot.LegacyScopesBridge
final MergedVarNames = com.oracle.truffle.polyglot.LegacyScopesBridge$MergedVarNames of com.oracle.truffle.polyglot.LegacyScopesBridge
NoReceiverVariables = com.oracle.truffle.polyglot.LegacyScopesBridge$NoReceiverVariables of com.oracle.truffle.polyglot.LegacyScopesBridge
final SubtractedKeys = com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedKeys of com.oracle.truffle.polyglot.LegacyScopesBridge
final SubtractedReceiver = com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedReceiver of com.oracle.truffle.polyglot.LegacyScopesBridge
SubtractedVariables = com.oracle.truffle.polyglot.LegacyScopesBridge$SubtractedVariables of com.oracle.truffle.polyglot.LegacyScopesBridge