|
34 | 34 | import org.graalvm.options.OptionDescriptors;
|
35 | 35 |
|
36 | 36 | import com.oracle.graal.python.builtins.Python3Core;
|
37 |
| -import com.oracle.graal.python.builtins.PythonBuiltinClassType; |
| 37 | +import com.oracle.graal.python.builtins.objects.PNone; |
38 | 38 | import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
|
39 | 39 | import com.oracle.graal.python.builtins.objects.function.PArguments;
|
40 | 40 | import com.oracle.graal.python.builtins.objects.function.PBuiltinFunction;
|
41 | 41 | import com.oracle.graal.python.builtins.objects.function.PKeyword;
|
| 42 | +import com.oracle.graal.python.builtins.objects.method.PBuiltinMethod; |
| 43 | +import com.oracle.graal.python.builtins.objects.module.PythonModule; |
42 | 44 | import com.oracle.graal.python.builtins.objects.object.PythonObject;
|
43 |
| -import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass; |
| 45 | +import com.oracle.graal.python.nodes.BuiltinNames; |
44 | 46 | import com.oracle.graal.python.nodes.NodeFactory;
|
45 | 47 | import com.oracle.graal.python.nodes.PNode;
|
46 |
| -import com.oracle.graal.python.nodes.SpecialMethodNames; |
47 | 48 | import com.oracle.graal.python.nodes.call.InvokeNode;
|
48 | 49 | import com.oracle.graal.python.nodes.control.TopLevelExceptionHandler;
|
49 | 50 | import com.oracle.graal.python.nodes.expression.ExpressionNode;
|
@@ -328,7 +329,7 @@ public static PythonCore getCore() {
|
328 | 329 |
|
329 | 330 | @Override
|
330 | 331 | protected boolean isVisible(PythonContext context, Object value) {
|
331 |
| - return false; |
| 332 | + return value != PNone.NONE && value != PNone.NO_VALUE; |
332 | 333 | }
|
333 | 334 |
|
334 | 335 | @Override
|
@@ -362,12 +363,12 @@ protected Iterable<Scope> findTopScopes(PythonContext context) {
|
362 | 363 |
|
363 | 364 | @Override
|
364 | 365 | protected String toString(PythonContext context, Object value) {
|
365 |
| - PythonBuiltinClass strType = context.getCore().lookupType(PythonBuiltinClassType.PString); |
366 |
| - PBuiltinFunction strConstructor = (PBuiltinFunction) strType.getAttribute(SpecialMethodNames.__NEW__); |
| 366 | + final PythonModule builtins = context.getBuiltins(); |
| 367 | + PBuiltinFunction reprMethod = ((PBuiltinMethod) builtins.getAttribute(BuiltinNames.REPR)).getFunction(); |
367 | 368 | Object[] userArgs = PArguments.create(2);
|
368 |
| - PArguments.setArgument(userArgs, 0, strType); |
| 369 | + PArguments.setArgument(userArgs, 0, PNone.NONE); |
369 | 370 | PArguments.setArgument(userArgs, 1, value);
|
370 |
| - Object res = InvokeNode.create(strConstructor).execute(null, userArgs, PKeyword.EMPTY_KEYWORDS); |
| 371 | + Object res = InvokeNode.create(reprMethod).execute(null, userArgs, PKeyword.EMPTY_KEYWORDS); |
371 | 372 | return res.toString();
|
372 | 373 | }
|
373 | 374 |
|
|
0 commit comments