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