summaryrefslogtreecommitdiff
path: root/builder.py
diff options
context:
space:
mode:
authorPhil Schaf <flying-sheep@web.de>2013-11-24 11:00:14 +0000
committerPhil Schaf <flying-sheep@web.de>2013-11-24 11:00:14 +0000
commit6d801e690cf4b6b1cf7434869d45a6ee7d982693 (patch)
treefad373b2b28cac257c9a065d77cf07ef7bfbf27f /builder.py
parent9d37ccf28ddc6382ea47bd3246e867fe9d779569 (diff)
downloadastroid-git-6d801e690cf4b6b1cf7434869d45a6ee7d982693.tar.gz
extracted string_build from file_build. now string_build allows for file_stream to be accessed.
Diffstat (limited to 'builder.py')
-rw-r--r--builder.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/builder.py b/builder.py
index 6b80f350..e69ae97d 100644
--- a/builder.py
+++ b/builder.py
@@ -124,13 +124,18 @@ 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._post_build(self._data_build(data, modname, path))
+ module.file_encoding = encoding
+ return module
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 = self._post_build(self._data_build(data, modname, path))
+ module.file_bytes = data.encode('utf-8')
+ module.file_encoding = 'utf-8'
+ return module
+
+ def _post_build(self, module):
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: