Skip to content

Commit cbfd1bf

Browse files
committed
Fix: GraalHPySetItem delegates to PyObjectSetItem
1 parent e9a437f commit cbfd1bf

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/PythonAbstractObject.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@
5252
import static com.oracle.graal.python.nodes.SpecialMethodNames.T___SET__;
5353
import static com.oracle.graal.python.nodes.StringLiterals.T_DATE;
5454
import static com.oracle.graal.python.nodes.StringLiterals.T_DATETIME;
55+
import static com.oracle.graal.python.nodes.StringLiterals.T_LBRACKET;
5556
import static com.oracle.graal.python.nodes.StringLiterals.T_STRUCT_TIME;
5657
import static com.oracle.graal.python.nodes.StringLiterals.T_TIME;
5758
import static com.oracle.graal.python.nodes.truffle.TruffleStringMigrationPythonTypes.isJavaString;
58-
import static com.oracle.graal.python.nodes.StringLiterals.T_LBRACKET;
5959
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
6060
import static com.oracle.graal.python.util.PythonUtils.toTruffleStringUncached;
6161
import static com.oracle.graal.python.util.PythonUtils.tsLiteral;
@@ -1346,7 +1346,7 @@ static Object doIt(Object object, Object attrName,
13461346
@GenerateUncached
13471347
public abstract static class PInteropSubscriptAssignNode extends Node {
13481348

1349-
public abstract void execute(Object primary, Object key, Object value) throws UnsupportedMessageException;
1349+
public abstract void execute(PythonAbstractObject primary, Object key, Object value) throws UnsupportedMessageException;
13501350

13511351
@Specialization
13521352
static void doSpecialObject(PythonAbstractObject primary, Object key, Object value,

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContextFunctions.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@
8585
import com.oracle.graal.python.builtins.modules.WarningsModuleBuiltins.WarnNode;
8686
import com.oracle.graal.python.builtins.objects.PNone;
8787
import com.oracle.graal.python.builtins.objects.PythonAbstractObject.PInteropGetAttributeNode;
88-
import com.oracle.graal.python.builtins.objects.PythonAbstractObject.PInteropSubscriptAssignNode;
8988
import com.oracle.graal.python.builtins.objects.PythonAbstractObject.PInteropSubscriptNode;
9089
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
9190
import com.oracle.graal.python.builtins.objects.capsule.PyCapsule;
@@ -168,6 +167,7 @@
168167
import com.oracle.graal.python.lib.PyObjectIsTrueNode;
169168
import com.oracle.graal.python.lib.PyObjectLookupAttr;
170169
import com.oracle.graal.python.lib.PyObjectReprAsTruffleStringNode;
170+
import com.oracle.graal.python.lib.PyObjectSetItem;
171171
import com.oracle.graal.python.lib.PySequenceCheckNode;
172172
import com.oracle.graal.python.lib.PySequenceContainsNode;
173173
import com.oracle.graal.python.lib.PyUnicodeFromEncodedObject;
@@ -2006,9 +2006,8 @@ Object execute(Object[] arguments,
20062006
@Cached HPyAsPythonObjectNode keyAsPythonObjectNode,
20072007
@Cached HPyAsPythonObjectNode valueAsPythonObjectNode,
20082008
@Cached FromCharPointerNode fromCharPointerNode,
2009-
@Cached PInteropSubscriptAssignNode setItemNode,
2009+
@Cached PyObjectSetItem setItemNode,
20102010
@Cached HPyTransformExceptionToNativeNode transformExceptionToNativeNode,
2011-
@Cached HPyRaiseNode raiseNativeNode,
20122011
@Exclusive @Cached GilNode gil) throws ArityException {
20132012
boolean mustRelease = gil.acquire();
20142013
try {
@@ -2033,12 +2032,10 @@ Object execute(Object[] arguments,
20332032
}
20342033
Object value = valueAsPythonObjectNode.execute(context, arguments[3]);
20352034
try {
2036-
setItemNode.execute(receiver, key, value);
2035+
setItemNode.execute(null, receiver, key, value);
20372036
return 0;
20382037
} catch (PException e) {
20392038
transformExceptionToNativeNode.execute(context, e);
2040-
} catch (UnsupportedMessageException e) {
2041-
raiseNativeNode.raiseIntWithoutFrame(context, -1, TypeError, ErrorMessages.P_OBJ_DOES_NOT_SUPPRT_IEM_ASSIGMENT, receiver);
20422039
}
20432040
return -1;
20442041
} finally {

0 commit comments

Comments
 (0)