Skip to content

Commit 9701ff9

Browse files
committed
set __DOC__ to None when the builtin doc is empty
1 parent f9e99fa commit 9701ff9

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.Map.Entry;
3737
import java.util.function.BiConsumer;
3838

39+
import com.oracle.graal.python.builtins.objects.PNone;
3940
import com.oracle.graal.python.builtins.objects.function.Arity;
4041
import com.oracle.graal.python.builtins.objects.function.PBuiltinFunction;
4142
import com.oracle.graal.python.builtins.objects.function.PythonCallable;
@@ -72,17 +73,18 @@ public void initialize(PythonCore core) {
7273
}
7374
RootCallTarget callTarget = core.getLanguage().builtinCallTargetCache.computeIfAbsent(factory.getNodeClass(),
7475
(b) -> Truffle.getRuntime().createCallTarget(new BuiltinFunctionRootNode(core.getLanguage(), builtin, factory, declaresExplicitSelf)));
76+
Object builtinDoc = builtin.doc().isEmpty() ? PNone.NONE : builtin.doc();
7577
if (builtin.constructsClass().length > 0) {
7678
assert !builtin.isGetter() && !builtin.isSetter() && !builtin.isClassmethod() && !builtin.isStaticmethod();
7779
PBuiltinFunction newFunc = core.factory().createBuiltinFunction(__NEW__, null, createArity(builtin, declaresExplicitSelf), callTarget);
7880
for (PythonBuiltinClassType type : builtin.constructsClass()) {
7981
PythonBuiltinClass builtinClass = core.lookupType(type);
8082
builtinClass.setAttributeUnsafe(__NEW__, newFunc);
81-
builtinClass.setAttribute(__DOC__, builtin.doc());
83+
builtinClass.setAttribute(__DOC__, builtinDoc);
8284
}
8385
} else {
8486
PBuiltinFunction function = core.factory().createBuiltinFunction(builtin.name(), null, createArity(builtin, declaresExplicitSelf), callTarget);
85-
function.setAttribute(__DOC__, builtin.doc());
87+
function.setAttribute(__DOC__, builtinDoc);
8688
BoundBuiltinCallable<?> callable = function;
8789
if (builtin.isGetter() || builtin.isSetter()) {
8890
assert !builtin.isClassmethod() && !builtin.isStaticmethod();

0 commit comments

Comments
 (0)