Commit 50b5656a authored by Stefan Behnel's avatar Stefan Behnel

deploy unicode.encode() optimisation also for 'bytes' provided encodings

parent cedf8a44
...@@ -2202,6 +2202,10 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform): ...@@ -2202,6 +2202,10 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform):
encoding = encoding_node.value encoding = encoding_node.value
encoding_node = ExprNodes.BytesNode(encoding_node.pos, value=encoding, encoding_node = ExprNodes.BytesNode(encoding_node.pos, value=encoding,
type=PyrexTypes.c_char_ptr_type) type=PyrexTypes.c_char_ptr_type)
elif encoding_node.type is Builtin.bytes_type:
encoding = None
encoding_node = encoding_node.coerce_to(
PyrexTypes.c_char_ptr_type, self.current_env())
elif encoding_node.type.is_string: elif encoding_node.type.is_string:
encoding = None encoding = None
else: else:
...@@ -2224,6 +2228,10 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform): ...@@ -2224,6 +2228,10 @@ class OptimizeBuiltinCalls(Visitor.EnvTransform):
error_handling_node = ExprNodes.BytesNode( error_handling_node = ExprNodes.BytesNode(
error_handling_node.pos, value=error_handling, error_handling_node.pos, value=error_handling,
type=PyrexTypes.c_char_ptr_type) type=PyrexTypes.c_char_ptr_type)
elif error_handling_node.type is Builtin.bytes_type:
error_handling = None
error_handling_node = error_handling_node.coerce_to(
PyrexTypes.c_char_ptr_type, self.current_env())
elif error_handling_node.type.is_string: elif error_handling_node.type.is_string:
error_handling = None error_handling = None
else: else:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment