|
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