1.1 --- a/common.py Tue Dec 13 00:59:23 2016 +0100
1.2 +++ b/common.py Tue Dec 13 17:57:33 2016 +0100
1.3 @@ -218,6 +218,14 @@
1.4
1.5 # Constant and literal recording.
1.6
1.7 + def get_constant_value(self, value):
1.8 +
1.9 + "Encode the 'value' if appropriate."
1.10 +
1.11 + if isinstance(value, unicode):
1.12 + value = value.encode("utf-8")
1.13 + return value
1.14 +
1.15 def get_constant_reference(self, ref, value):
1.16
1.17 "Return a constant reference for the given 'ref' type and 'value'."
1.18 @@ -923,13 +931,25 @@
1.19
1.20 # NOTE: This makes assumptions about the __builtins__ structure.
1.21
1.22 - return name == "string" and "str" or name == "NoneType" and "none" or name
1.23 + if name == "string":
1.24 + return "str"
1.25 + elif name == "utf8string":
1.26 + return "unicode"
1.27 + elif name == "NoneType":
1.28 + return "none"
1.29 + else:
1.30 + return name
1.31
1.32 def get_builtin_type(name):
1.33
1.34 "Return the type name provided by the given Python value 'name'."
1.35
1.36 - return name == "str" and "string" or name
1.37 + if name == "str":
1.38 + return "string"
1.39 + elif name == "unicode":
1.40 + return "utf8string"
1.41 + else:
1.42 + return name
1.43
1.44 # Useful data.
1.45