All modules now have a code_lines attribute, see #1062

This commit is contained in:
Dave Halter
2018-03-16 10:20:26 +01:00
parent 24e1f7e6f0
commit 90a226f898
11 changed files with 102 additions and 33 deletions
+10 -3
View File
@@ -21,15 +21,18 @@ class NamespaceObject(object):
class MixedModuleContext(Context):
resets_positions = True
type = 'mixed_module'
def __init__(self, evaluator, tree_module, namespaces, path):
def __init__(self, evaluator, tree_module, namespaces, path, code_lines):
self.evaluator = evaluator
self._namespaces = namespaces
self._namespace_objects = [NamespaceObject(n) for n in namespaces]
self._module_context = ModuleContext(evaluator, tree_module, path=path)
self._module_context = ModuleContext(
evaluator, tree_module,
path=path,
code_lines=code_lines
)
self.tree_node = tree_module
def get_node(self):
@@ -50,5 +53,9 @@ class MixedModuleContext(Context):
for filter in mixed_object.get_filters(*args, **kwargs):
yield filter
@property
def code_lines(self):
return self._module_context.code_lines
def __getattr__(self, name):
return getattr(self._module_context, name)