Skip to content

Commit 7dc3276

Browse files
committed
Fix divmod buitin to call the right special method
1 parent 5e6b691 commit 7dc3276

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_class.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
*graalpython.lib-python.3.test.test_class.ClassTests.testBadTypeReturned
2+
*graalpython.lib-python.3.test.test_class.ClassTests.testBinaryOps
23
*graalpython.lib-python.3.test.test_class.ClassTests.testForExceptionsRaisedInInstanceGetattr2
34
*graalpython.lib-python.3.test.test_class.ClassTests.testGetSetAndDel
45
*graalpython.lib-python.3.test.test_class.ClassTests.testInit
6+
*graalpython.lib-python.3.test.test_class.ClassTests.testListAndDictOps
57
*graalpython.lib-python.3.test.test_class.ClassTests.testMisc
68
*graalpython.lib-python.3.test.test_class.ClassTests.testSFBug532646
79
*graalpython.lib-python.3.test.test_class.ClassTests.testSetattrNonStringName

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -524,12 +524,9 @@ public PTuple doDouble(double a, double b) {
524524
}
525525

526526
@Specialization
527-
public PTuple doObject(VirtualFrame frame, Object a, Object b,
528-
@Cached("FloorDiv.create()") LookupAndCallBinaryNode floordivNode,
529-
@Cached("Mod.create()") LookupAndCallBinaryNode modNode) {
530-
Object div = floordivNode.executeObject(frame, a, b);
531-
Object mod = modNode.executeObject(frame, a, b);
532-
return factory().createTuple(new Object[]{div, mod});
527+
public Object doObject(VirtualFrame frame, Object a, Object b,
528+
@Cached("create(__DIVMOD__, __RDIVMOD__)") LookupAndCallBinaryNode callDivmod) {
529+
return callDivmod.executeObject(frame, a, b);
533530
}
534531

535532
}

0 commit comments

Comments
 (0)