|
115 | 115 | import com.oracle.graal.python.builtins.objects.set.PSet;
|
116 | 116 | import com.oracle.graal.python.builtins.objects.str.StringUtils.SimpleTruffleStringFormatNode;
|
117 | 117 | import com.oracle.graal.python.builtins.objects.tuple.PTuple;
|
118 |
| -import com.oracle.graal.python.builtins.objects.type.TypeBuiltinsFactory.CallNodeFactory; |
119 | 118 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.CheckCompatibleForAssigmentNode;
|
120 | 119 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.GetBaseClassNode;
|
121 | 120 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.GetBestBaseClassNode;
|
|
126 | 125 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.InlinedIsSameTypeNode;
|
127 | 126 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.IsSameTypeNode;
|
128 | 127 | import com.oracle.graal.python.builtins.objects.type.TypeNodes.IsTypeNode;
|
| 128 | +import com.oracle.graal.python.builtins.objects.type.TypeBuiltinsFactory.CallNodeFactory; |
129 | 129 | import com.oracle.graal.python.builtins.objects.type.TypeNodesFactory.IsSameTypeNodeGen;
|
130 | 130 | import com.oracle.graal.python.builtins.objects.types.GenericTypeNodes;
|
131 | 131 | import com.oracle.graal.python.lib.PyObjectIsTrueNode;
|
@@ -244,7 +244,14 @@ static TruffleString repr(VirtualFrame frame, Object self,
|
244 | 244 | @Cached SimpleTruffleStringFormatNode simpleTruffleStringFormatNode) {
|
245 | 245 | Object moduleNameObj = readModuleNode.executeObject(frame, self);
|
246 | 246 | Object qualNameObj = readQualNameNode.executeObject(frame, self);
|
247 |
| - TruffleString moduleName = moduleNameObj != PNone.NO_VALUE ? castToStringNode.execute(moduleNameObj) : null; |
| 247 | + TruffleString moduleName = null; |
| 248 | + if (moduleNameObj != PNone.NO_VALUE) { |
| 249 | + try { |
| 250 | + moduleName = castToStringNode.execute(moduleNameObj); |
| 251 | + } catch (CannotCastException e) { |
| 252 | + // ignore |
| 253 | + } |
| 254 | + } |
248 | 255 | if (moduleName == null || equalNode.execute(moduleName, T_BUILTINS, TS_ENCODING)) {
|
249 | 256 | return simpleTruffleStringFormatNode.format("<class '%s'>", castToStringNode.execute(qualNameObj));
|
250 | 257 | }
|
|
0 commit comments