mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-23 13:35:42 -04:00
![]() This patch attempts to solve the Python 2 / Python 3 incompatibilities by introducing a new `encoded_file` abstraction that we use instead of `io.open()`. The problem with the builtin implementation of `io.open` is that `read` and `write` accept and return `unicode` objects, which are not always convenient to work with in Python 2. We solve this by making `encoded_file.open()` return the same object returned by `io.open()` but with hooked `read()` and `write()` methods. These hooked methods will accept binary or text data, and conditionally convert what it gets to a `unicode` object using the correct encoding. When calling `read()` it also does any conversion necessary to convert the output back into the native `string` type of the running python version. Differential Revision: http://reviews.llvm.org/D16736 llvm-svn: 259379 |
||
---|---|---|
.. | ||
auto | ||
bool | ||
breakpoint-commands | ||
call-function | ||
chained-calls | ||
char1632_t | ||
class_static | ||
class_types | ||
diamond | ||
dynamic-value | ||
enum_types | ||
exceptions | ||
frame-var-anon-unions | ||
global_operators | ||
incomplete-types | ||
limit-debug-info | ||
namespace | ||
nsimport | ||
overloaded-functions | ||
rdar12991846 | ||
rvalue-references | ||
scope | ||
signed_types | ||
static_members | ||
static_methods | ||
stl | ||
this | ||
unique-types | ||
unsigned_types | ||
virtual | ||
wchar_t |