|
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