forked from VimPlug/jedi
Do not show signatures for properties, fixes #1695
This commit is contained in:
@@ -550,6 +550,8 @@ class BaseName:
|
||||
return ''.join(lines[start_index:index + after + 1])
|
||||
|
||||
def _get_signatures(self, for_docstring=False):
|
||||
if self._name.api_type == 'property':
|
||||
return []
|
||||
if for_docstring and self._name.api_type == 'statement' and not self.is_stub():
|
||||
# For docstrings we don't resolve signatures if they are simple
|
||||
# statements and not stubs. This is a speed optimization.
|
||||
|
||||
@@ -340,7 +340,7 @@ class TreeNameDefinition(AbstractTreeName):
|
||||
@inference_state_method_cache(default='')
|
||||
def py__doc__(self):
|
||||
api_type = self.api_type
|
||||
if api_type in ('function', 'class'):
|
||||
if api_type in ('function', 'class', 'property'):
|
||||
# Make sure the names are not TreeNameDefinitions anymore.
|
||||
return clean_scope_docstring(self.tree_name.get_definition())
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ def expr_is_dotted(node):
|
||||
return node.type == 'name'
|
||||
|
||||
|
||||
def _function_is_x_method(method_name):
|
||||
def _function_is_x_method(*method_names):
|
||||
def wrapper(function_node):
|
||||
"""
|
||||
This is a heuristic. It will not hold ALL the times, but it will be
|
||||
@@ -316,7 +316,7 @@ def _function_is_x_method(method_name):
|
||||
"""
|
||||
for decorator in function_node.get_decorators():
|
||||
dotted_name = decorator.children[1]
|
||||
if dotted_name.get_code() == method_name:
|
||||
if dotted_name.get_code() in method_names:
|
||||
return True
|
||||
return False
|
||||
return wrapper
|
||||
@@ -324,4 +324,4 @@ def _function_is_x_method(method_name):
|
||||
|
||||
function_is_staticmethod = _function_is_x_method('staticmethod')
|
||||
function_is_classmethod = _function_is_x_method('classmethod')
|
||||
function_is_property = _function_is_x_method('property')
|
||||
function_is_property = _function_is_x_method('property', 'cached_property')
|
||||
|
||||
Reference in New Issue
Block a user