mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Forgot to add evaluate/names.py earlier
This commit is contained in:
39
jedi/evaluate/names.py
Normal file
39
jedi/evaluate/names.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from jedi.evaluate.filters import AbstractNameDefinition
|
||||
|
||||
|
||||
class ImportName(AbstractNameDefinition):
|
||||
start_pos = (1, 0)
|
||||
_level = 0
|
||||
|
||||
def __init__(self, parent_context, string_name):
|
||||
self.parent_context = parent_context
|
||||
self.string_name = string_name
|
||||
|
||||
def infer(self):
|
||||
from jedi.evaluate.imports import Importer
|
||||
return Importer(
|
||||
self.parent_context.evaluator,
|
||||
[self.string_name],
|
||||
self.parent_context,
|
||||
level=self._level,
|
||||
).follow()
|
||||
|
||||
def goto(self):
|
||||
return [m.name for m in self.infer()]
|
||||
|
||||
def get_root_context(self):
|
||||
# Not sure if this is correct.
|
||||
return self.parent_context.get_root_context()
|
||||
|
||||
@property
|
||||
def api_type(self):
|
||||
return 'module'
|
||||
|
||||
|
||||
class SubModuleName(ImportName):
|
||||
_level = 1
|
||||
|
||||
|
||||
class OsPathName(ImportName):
|
||||
def infer(self):
|
||||
return self.parent_context.evaluator.import_module(('os', 'path'))
|
||||
Reference in New Issue
Block a user