From 3d7522dff64c65b20006c706a53bdccffa6147fa Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 24 Jan 2014 00:57:53 +0100 Subject: [PATCH] fixed None type appearances in CompiledObject --- jedi/evaluate/__init__.py | 2 +- jedi/evaluate/compiled/__init__.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 2b162abf..c458d786 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -305,7 +305,7 @@ class Evaluator(object): if isinstance(obj, iterable.GeneratorMethod): return obj.execute() - if obj.isinstance(compiled.CompiledObject): + elif obj.isinstance(compiled.CompiledObject): if obj.is_executable_class(): return [er.Instance(self, obj, params)] else: diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index d3b94cbd..2c604e9f 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -87,6 +87,7 @@ class CompiledObject(Base): def execute_function(self, evaluator, params): if self.type() != 'def': return + for name in self._parse_function_doc()[1].split(): try: bltn_obj = _create_from_name(builtin, builtin, name) @@ -94,7 +95,9 @@ class CompiledObject(Base): continue else: if isinstance(bltn_obj, CompiledObject): - yield bltn_obj + # We want everything except None. + if bltn_obj.obj is not None: + yield bltn_obj else: for result in evaluator.execute(bltn_obj, params): yield result