base_type = None
module_name = '__builtin__'
- alternative_name = None # used for str/bytes duality
-
def __init__(self, name, cname):
self.name = name
- if name == 'str':
- self.alternative_name = 'bytes'
- elif name == 'bytes':
- self.alternative_name = 'str'
self.cname = cname
self.typeptr_cname = "&" + cname
def assignable_from(self, src_type):
if isinstance(src_type, BuiltinObjectType):
- return src_type.name == self.name or (
- src_type.name == self.alternative_name and
- src_type.name is not None)
+ return src_type.name == self.name
elif src_type.is_extension_type:
return (src_type.module_name == '__builtin__' and
src_type.name == self.name)