mirror of
https://github.com/davidhalter/jedi.git
synced 2026-02-27 18:42:22 +08:00
further progress in changing to py__call__
This commit is contained in:
@@ -32,6 +32,13 @@ class CompiledObject(Base):
|
||||
self.obj = obj
|
||||
self.parent = parent
|
||||
|
||||
def py__call__(self, evaluator, params):
|
||||
if inspect.isclass(self.obj):
|
||||
from jedi.evaluate.representation import Instance
|
||||
return [Instance(evaluator, self, params)]
|
||||
else:
|
||||
return list(self._execute_function(evaluator, params))
|
||||
|
||||
@property
|
||||
def doc(self):
|
||||
return inspect.getdoc(self.obj) or ''
|
||||
@@ -73,9 +80,6 @@ class CompiledObject(Base):
|
||||
or inspect.ismethoddescriptor(cls):
|
||||
return 'function'
|
||||
|
||||
def is_executable_class(self):
|
||||
return inspect.isclass(self.obj)
|
||||
|
||||
@underscore_memoization
|
||||
def _cls(self):
|
||||
# Ensures that a CompiledObject is returned that is not an instance (like list)
|
||||
@@ -148,7 +152,7 @@ class CompiledObject(Base):
|
||||
# might not exist sometimes (raises AttributeError)
|
||||
return self._cls().obj.__name__
|
||||
|
||||
def execute_function(self, evaluator, params):
|
||||
def _execute_function(self, evaluator, params):
|
||||
if self.type() != 'function':
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user