1
0
forked from VimPlug/jedi

Add params property to compiled object

This commit is contained in:
ColinDuquesnoy
2014-02-26 13:53:09 +01:00
parent da27ce4d7c
commit 725e55485a

View File

@@ -11,6 +11,9 @@ from jedi import debug
from jedi.parser.representation import Base
from jedi.cache import underscore_memoization
from jedi.evaluate.sys_path import get_sys_path
from jedi.parser.representation import Param
from jedi.parser.representation import SubModule
from jedi.evaluate.helpers import FakeName
from . import fake
@@ -20,6 +23,20 @@ class CompiledObject(Base):
asserts = []
path = None # modules have this attribute - set it to None.
@property
def params(self):
params_str, ret = self._parse_function_doc()
tokens = params_str.split(',')
params = []
module = SubModule(self.get_parent_until().name)
# it seems like start_pos/end_pos is always (0, 0) for a compiled
# object
start_pos, end_pos = (0, 0), (0, 0)
for p in tokens:
params.append(Param(module, [FakeName(p.strip())], start_pos,
end_pos))
return params
def __init__(self, obj, parent=None):
self.obj = obj
self.parent = parent