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