Skip to content

Commit 7326ea9

Browse files
committed
handle native objects in StringFormatter, minor fixes
1 parent 756d326 commit 7326ea9

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import com.oracle.graal.python.builtins.objects.type.PythonClass;
5252
import com.oracle.graal.python.nodes.BuiltinNames;
5353
import com.oracle.graal.python.nodes.NodeFactory;
54-
import com.oracle.graal.python.nodes.PNode;
5554
import com.oracle.graal.python.nodes.call.InvokeNode;
5655
import com.oracle.graal.python.nodes.control.TopLevelExceptionHandler;
5756
import com.oracle.graal.python.nodes.expression.ExpressionNode;
@@ -306,7 +305,7 @@ protected static ExpressionNode parseInline(Source code, PythonContext context,
306305

307306
@Override
308307
protected boolean isObjectOfLanguage(Object object) {
309-
return object instanceof PNode || object instanceof PythonObject;
308+
return object instanceof PythonAbstractObject;
310309
}
311310

312311
@Override

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/formatting/StringFormatter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.function.BiFunction;
1818

1919
import com.oracle.graal.python.builtins.objects.PNone;
20+
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
2021
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
2122
import com.oracle.graal.python.builtins.objects.dict.PDict;
2223
import com.oracle.graal.python.builtins.objects.function.PArguments;
@@ -120,7 +121,7 @@ private static Object asNumber(Object arg, CallDispatchNode callNode, BiFunction
120121
} else if (arg instanceof Double) {
121122
// A common case where it is safe to return arg.__int__()
122123
return ((Double) arg).intValue();
123-
} else if (arg instanceof PythonObject) {
124+
} else if (arg instanceof PythonAbstractObject) {
124125
// Try again with arg.__int__()
125126
try {
126127
// Result is the result of arg.__int__() if that works
@@ -345,7 +346,7 @@ public Object format(Object args1, CallDispatchNode callNode, BiFunction<Object,
345346
ft.format(((PString) arg).toString());
346347
} else if (arg instanceof PBytes) {
347348
ft.format(((PBytes) arg).toString());
348-
} else if (arg instanceof PythonObject && ((bytesAttribute = lookupAttribute.apply(arg, __BYTES__)) != PNone.NO_VALUE)) {
349+
} else if (arg instanceof PythonAbstractObject && ((bytesAttribute = lookupAttribute.apply(arg, __BYTES__)) != PNone.NO_VALUE)) {
349350
Object result = callNode.executeCall(null, bytesAttribute, createArgs(arg), PKeyword.EMPTY_KEYWORDS);
350351
ft.format(result.toString());
351352
} else {

0 commit comments

Comments
 (0)