|
54 | 54 | import com.oracle.graal.python.builtins.objects.buffer.PythonBufferAcquireLibrary;
|
55 | 55 | import com.oracle.graal.python.builtins.objects.common.SequenceNodes;
|
56 | 56 | import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes;
|
| 57 | +import com.oracle.graal.python.builtins.objects.dict.DictBuiltins; |
57 | 58 | import com.oracle.graal.python.builtins.objects.dict.PDict;
|
58 | 59 | import com.oracle.graal.python.builtins.objects.ints.PInt;
|
59 | 60 | import com.oracle.graal.python.lib.PyNumberIndexNode;
|
@@ -156,19 +157,20 @@ public boolean doObject(VirtualFrame frame, Object value) {
|
156 | 157 | public abstract static class GetItemNode extends PythonBinaryBuiltinNode {
|
157 | 158 |
|
158 | 159 | @Specialization
|
159 |
| - public Object doDict(PDict dict, Object item) { |
160 |
| - return dict.getItem(item); |
| 160 | + public static Object doDict(VirtualFrame frame, PDict dict, Object item, |
| 161 | + @Cached DictBuiltins.GetItemNode getItem) { |
| 162 | + return getItem.execute(frame, dict, item); |
161 | 163 | }
|
162 | 164 |
|
163 | 165 | @Specialization
|
164 |
| - public Object doSequence(VirtualFrame frame, PSequence value, Object index, |
| 166 | + public static Object doSequence(VirtualFrame frame, PSequence value, Object index, |
165 | 167 | @Cached SequenceNodes.GetSequenceStorageNode getStorage,
|
166 | 168 | @Cached SequenceStorageNodes.GetItemNode getItemNode) {
|
167 | 169 | return getItemNode.execute(frame, getStorage.execute(value), index);
|
168 | 170 | }
|
169 | 171 |
|
170 | 172 | @Specialization
|
171 |
| - public Object doObject(VirtualFrame frame, Object value, Object index, |
| 173 | + public static Object doObject(VirtualFrame frame, Object value, Object index, |
172 | 174 | @Cached("create(__GETITEM__)") LookupAndCallBinaryNode getItemNode) {
|
173 | 175 | return getItemNode.executeObject(frame, value, index);
|
174 | 176 | }
|
|
0 commit comments