forked from VimPlug/jedi
Differentiate between a public name and an internal string_name
This commit is contained in:
@@ -95,7 +95,7 @@ class BaseDefinition(object):
|
||||
|
||||
:rtype: str or None
|
||||
"""
|
||||
return self._name.string_name
|
||||
return self._name.get_public_name()
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
@@ -242,7 +242,7 @@ class BaseDefinition(object):
|
||||
@property
|
||||
def description(self):
|
||||
"""A textual description of the object."""
|
||||
return self._name.string_name
|
||||
return self._name.get_public_name()
|
||||
|
||||
@property
|
||||
def full_name(self):
|
||||
@@ -427,7 +427,7 @@ class Completion(BaseDefinition):
|
||||
# TODO this doesn't work for nested calls.
|
||||
append += '='
|
||||
|
||||
name = self._name.string_name
|
||||
name = self._name.get_public_name()
|
||||
if like_name:
|
||||
name = name[self._like_name_length:]
|
||||
return name + append
|
||||
@@ -483,7 +483,7 @@ class Completion(BaseDefinition):
|
||||
return Definition.description.__get__(self)
|
||||
|
||||
def __repr__(self):
|
||||
return '<%s: %s>' % (type(self).__name__, self._name.string_name)
|
||||
return '<%s: %s>' % (type(self).__name__, self._name.get_public_name())
|
||||
|
||||
@memoize_method
|
||||
def follow_definition(self):
|
||||
@@ -551,7 +551,7 @@ class Definition(BaseDefinition):
|
||||
if typ == 'function':
|
||||
# For the description we want a short and a pythonic way.
|
||||
typ = 'def'
|
||||
return typ + ' ' + self._name.string_name
|
||||
return typ + ' ' + self._name.get_public_name()
|
||||
|
||||
definition = tree_name.get_definition() or tree_name
|
||||
# Remove the prefix, because that's not what we want for get_code
|
||||
|
||||
@@ -45,6 +45,9 @@ class AbstractNameDefinition(object):
|
||||
def get_root_context(self):
|
||||
return self.parent_context.get_root_context()
|
||||
|
||||
def get_public_name(self):
|
||||
return self.string_name
|
||||
|
||||
def __repr__(self):
|
||||
if self.start_pos is None:
|
||||
return '<%s: string_name=%s>' % (self.__class__.__name__, self.string_name)
|
||||
@@ -225,7 +228,7 @@ class BaseTreeParamName(ParamNameInterface, AbstractTreeName):
|
||||
default_node = None
|
||||
|
||||
def to_string(self):
|
||||
output = self._kind_string() + self.string_name
|
||||
output = self._kind_string() + self.get_public_name()
|
||||
annotation = self.annotation_node
|
||||
default = self.default_node
|
||||
if annotation is not None:
|
||||
@@ -262,9 +265,8 @@ class ParamName(BaseTreeParamName):
|
||||
def default_node(self):
|
||||
return self._get_param_node().default
|
||||
|
||||
@property
|
||||
def string_name(self):
|
||||
name = self.tree_name.value
|
||||
def get_public_name(self):
|
||||
name = self.string_name
|
||||
if name.startswith('__'):
|
||||
# Params starting with __ are an equivalent to positional only
|
||||
# variables in typeshed.
|
||||
|
||||
@@ -24,12 +24,15 @@ class ExecutedParam(object):
|
||||
from jedi.inference.names import ParamName
|
||||
self._name = ParamName(execution_context, param_node.name)
|
||||
self._lazy_value = lazy_value
|
||||
self.string_name = param_node.name.value
|
||||
self._is_default = is_default
|
||||
|
||||
def infer(self, use_hints=True):
|
||||
return self._lazy_value.infer()
|
||||
|
||||
@property
|
||||
def string_name(self):
|
||||
return self._name.string_name
|
||||
|
||||
def get_kind(self):
|
||||
return self._name.get_kind()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user