Skip to content

Commit 12c1d44

Browse files
committed
Generalize 'PyObject_Setattr'.
1 parent c96bf92 commit 12c1d44

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/TruffleCextBuiltins.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@
103103
import com.oracle.graal.python.builtins.objects.ints.PInt;
104104
import com.oracle.graal.python.builtins.objects.iterator.PSequenceIterator;
105105
import com.oracle.graal.python.builtins.objects.module.PythonModule;
106-
import com.oracle.graal.python.builtins.objects.object.PythonBuiltinObject;
107106
import com.oracle.graal.python.builtins.objects.object.PythonObject;
108107
import com.oracle.graal.python.builtins.objects.slice.PSlice;
109108
import com.oracle.graal.python.builtins.objects.slice.PSlice.SliceInfo;
@@ -439,23 +438,16 @@ PHashingCollection getDict(PythonNativeClass object) {
439438
@Builtin(name = "PyTruffle_SetAttr", fixedNumOfPositionalArgs = 3)
440439
@GenerateNodeFactory
441440
abstract static class PyObject_Setattr extends PythonBuiltinNode {
442-
@Specialization
443-
@TruffleBoundary
444-
Object setattr(PythonBuiltinObject object, String key, Object value) {
445-
object.getStorage().define(key, value);
446-
return PNone.NONE;
447-
}
448-
449441
@Specialization
450442
@TruffleBoundary
451443
Object setattr(PythonBuiltinClass object, String key, Object value) {
452444
object.setAttributeUnsafe(key, value);
453445
return PNone.NONE;
454446
}
455447

456-
@Specialization
448+
@Specialization(guards = {"!isPythonBuiltinClass(object)"})
457449
@TruffleBoundary
458-
Object setattr(PythonNativeClass object, String key, Object value) {
450+
Object setattr(PythonObject object, String key, Object value) {
459451
object.getStorage().define(key, value);
460452
return PNone.NONE;
461453
}

0 commit comments

Comments
 (0)