Make it clear what a param needs to implement

This commit is contained in:
Dave Halter
2019-05-21 18:21:40 +02:00
parent 857f6a79ae
commit c64ee8a07c
2 changed files with 9 additions and 3 deletions

View File

@@ -9,7 +9,8 @@ from jedi.evaluate.utils import to_list
from jedi._compatibility import force_unicode, Parameter, cast_path
from jedi.cache import underscore_memoization, memoize_method
from jedi.evaluate.filters import AbstractFilter
from jedi.evaluate.names import AbstractNameDefinition, ContextNameMixin
from jedi.evaluate.names import AbstractNameDefinition, ContextNameMixin, \
ParamNameInterface
from jedi.evaluate.base_context import Context, ContextSet, NO_CONTEXTS
from jedi.evaluate.lazy_context import LazyKnownContext
from jedi.evaluate.compiled.access import _sentinel
@@ -283,7 +284,7 @@ class CompiledName(AbstractNameDefinition):
)])
class SignatureParamName(AbstractNameDefinition):
class SignatureParamName(AbstractNameDefinition, ParamNameInterface):
api_type = u'param'
def __init__(self, compiled_obj, signature_param):

View File

@@ -121,7 +121,12 @@ class TreeNameDefinition(AbstractTreeName):
return self._API_TYPES.get(definition.type, 'statement')
class ParamName(AbstractTreeName):
class ParamNameInterface(object):
def get_kind(self):
raise NotImplementedError
class ParamName(AbstractTreeName, ParamNameInterface):
api_type = u'param'
def __init__(self, parent_context, tree_name):