|
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