Skip to content

Commit 30cd4b3

Browse files
committed
built-in __new__ are not classmethods
1 parent 1d7fb4a commit 30cd4b3

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/PythonBuiltins.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636

3737
import com.oracle.graal.python.builtins.objects.PNone;
3838
import com.oracle.graal.python.builtins.objects.function.PBuiltinFunction;
39-
import com.oracle.graal.python.builtins.objects.method.PDecoratedMethod;
4039
import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass;
4140
import com.oracle.graal.python.nodes.function.BuiltinFunctionRootNode;
4241
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
@@ -81,8 +80,8 @@ public void initialize(PythonCore core) {
8180
Object builtinDoc = builtin.doc().isEmpty() ? PNone.NONE : builtin.doc();
8281
if (constructsClass != PythonBuiltinClassType.nil) {
8382
assert !builtin.isGetter() && !builtin.isSetter() && !builtin.isClassmethod() && !builtin.isStaticmethod();
84-
PDecoratedMethod newFunc = core.factory().createStaticmethodFromCallableObj(core.factory().
85-
createBuiltinFunction(__NEW__, constructsClass, numDefaults(builtin), callTarget));
83+
// we explicitly do not make these "classmethods" here, since CPython also doesn't for builtin types
84+
PBuiltinFunction newFunc = core.factory().createBuiltinFunction(__NEW__, constructsClass, numDefaults(builtin), callTarget);
8685
PythonBuiltinClass builtinClass = core.lookupType(constructsClass);
8786
builtinClass.setAttributeUnsafe(__NEW__, newFunc);
8887
builtinClass.setAttribute(__DOC__, builtinDoc);

0 commit comments

Comments
 (0)