summaryrefslogtreecommitdiff
path: root/builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'builder.py')
-rw-r--r--builder.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/builder.py b/builder.py
index b088b205..0271f714 100644
--- a/builder.py
+++ b/builder.py
@@ -131,13 +131,20 @@ class AstroidBuilder(InspectBuilder):
except ImportError:
modname = splitext(basename(path))[0]
# build astroid representation
- node = self.string_build(data, modname, path)
- node.file_encoding = encoding
- return node
+ module = self._data_build(data, modname, path)
+ return self._post_build(module, encoding)
def string_build(self, data, modname='', path=None):
"""build astroid from source code string and return rebuilded astroid"""
module = self._data_build(data, modname, path)
+ module.file_bytes = data.encode('utf-8')
+ return self._post_build(module, 'utf-8')
+
+ def _post_build(self, module, encoding):
+ """handles encoding and delayed nodes
+ after a module has been built
+ """
+ module.file_encoding = encoding
self._manager.astroid_cache[module.name] = module
# post tree building steps after we stored the module in the cache:
for from_node in module._from_nodes: