1
0
forked from VimPlug/jedi

Fix some internal name handling.

This commit is contained in:
Dave Halter
2016-12-05 22:27:18 +01:00
parent fe64df2e42
commit cb4f405f7d
6 changed files with 56 additions and 50 deletions

View File

@@ -12,7 +12,8 @@ from jedi import debug
from jedi.cache import underscore_memoization, memoize_method
from jedi.parser.tree import Param, Operator
from jedi.evaluate.helpers import FakeName
from jedi.evaluate.filters import AbstractFilter, AbstractNameDefinition
from jedi.evaluate.filters import AbstractFilter, AbstractNameDefinition, \
ContextNameMixin
from jedi.evaluate.context import Context, LazyKnownContext
from . import fake
@@ -300,13 +301,11 @@ class UnresolvableParamName(AbstractNameDefinition):
return set()
class CompiledContextName(AbstractNameDefinition):
def __init__(self, parent_context, name):
class CompiledContextName(ContextNameMixin, AbstractNameDefinition):
def __init__(self, context, name):
self.string_name = name
self.parent_context = parent_context
def infer(self):
return [self.parent_context]
self._context = context
self.parent_context = context.parent_context
class LazyNamesDict(object):

View File

@@ -52,24 +52,26 @@ class AbstractTreeName(AbstractNameDefinition):
return self.tree_name.start_pos
class ContextName(AbstractTreeName):
def __init__(self, context, tree_name):
super(ContextName, self).__init__(context.parent_context, tree_name)
self._context = context
class ContextNameMixin(object):
def infer(self):
return [self._context]
return set([self._context])
def get_root_context(self):
if self.parent_context is None:
return self._context
return super(ContextName, self).get_root_context()
return super(ContextNameMixin, self).get_root_context()
@property
def api_type(self):
return self._context.api_type
class ContextName(ContextNameMixin, AbstractTreeName):
def __init__(self, context, tree_name):
super(ContextName, self).__init__(context.parent_context, tree_name)
self._context = context
class TreeNameDefinition(AbstractTreeName):
def get_parent_flow_context(self):
return self.parent_context

View File

@@ -216,7 +216,7 @@ class ClassContext(use_metaclass(CachedMetaClass, context.TreeContext)):
except AttributeError:
pass
else:
return method()[:-1]
return list(method())[1:]
return []
@property