Skip to content

Commit 4c55b01

Browse files
committed
use str() to convert values toString through polyglot API
1 parent ab2f452 commit 4c55b01

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/PythonLanguage.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@
3535

3636
import com.oracle.graal.python.builtins.Python3Core;
3737
import com.oracle.graal.python.builtins.objects.PNone;
38+
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
3839
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
3940
import com.oracle.graal.python.builtins.objects.function.PArguments;
4041
import com.oracle.graal.python.builtins.objects.function.PBuiltinFunction;
4142
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;
4443
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;
4645
import com.oracle.graal.python.nodes.NodeFactory;
4746
import com.oracle.graal.python.nodes.PNode;
47+
import com.oracle.graal.python.nodes.SpecialMethodNames;
4848
import com.oracle.graal.python.nodes.call.InvokeNode;
4949
import com.oracle.graal.python.nodes.control.TopLevelExceptionHandler;
5050
import com.oracle.graal.python.nodes.expression.ExpressionNode;
@@ -363,12 +363,12 @@ protected Iterable<Scope> findTopScopes(PythonContext context) {
363363

364364
@Override
365365
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__);
368368
Object[] userArgs = PArguments.create(2);
369-
PArguments.setArgument(userArgs, 0, PNone.NONE);
369+
PArguments.setArgument(userArgs, 0, strType);
370370
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);
372372
return res.toString();
373373
}
374374

0 commit comments

Comments
 (0)