1
0
forked from VimPlug/jedi

also apply to api_classes

This commit is contained in:
Dave Halter
2014-01-05 10:44:25 +01:00
parent d0a1f66777
commit cc950c5ddb

View File

@@ -310,8 +310,6 @@ class Completion(BaseDefinition):
# duplicate items in the completion) # duplicate items in the completion)
self._same_name_completions = [] self._same_name_completions = []
self._followed_definitions = None
def _complete(self, like_name): def _complete(self, like_name):
dot = '.' if self._needs_dot else '' dot = '.' if self._needs_dot else ''
append = '' append = ''
@@ -391,6 +389,7 @@ class Completion(BaseDefinition):
line = '' if self.in_builtin_module else '@%s' % self.line line = '' if self.in_builtin_module else '@%s' % self.line
return '%s: %s%s' % (t, desc, line) return '%s: %s%s' % (t, desc, line)
@cache.underscore_memoization
def follow_definition(self): def follow_definition(self):
""" """
Return the original definitions. I strongly recommend not using it for Return the original definitions. I strongly recommend not using it for
@@ -400,7 +399,6 @@ class Completion(BaseDefinition):
follows all results. This means with 1000 completions (e.g. numpy), follows all results. This means with 1000 completions (e.g. numpy),
it's just PITA-slow. it's just PITA-slow.
""" """
if self._followed_definitions is None:
if self._definition.isinstance(pr.Statement): if self._definition.isinstance(pr.Statement):
defs = self._evaluator.eval_statement(self._definition) defs = self._evaluator.eval_statement(self._definition)
elif self._definition.isinstance(pr.Import): elif self._definition.isinstance(pr.Import):
@@ -408,11 +406,9 @@ class Completion(BaseDefinition):
else: else:
return [self] return [self]
self._followed_definitions = \ defs = [BaseDefinition(self._evaluator, d, d.start_pos) for d in defs]
[BaseDefinition(self._evaluator, d, d.start_pos) for d in defs]
clear_caches() clear_caches()
return defs
return self._followed_definitions
def __repr__(self): def __repr__(self):
return '<%s: %s>' % (type(self).__name__, self._name) return '<%s: %s>' % (type(self).__name__, self._name)