diff --git a/jedi/evaluate/base_context.py b/jedi/evaluate/base_context.py index 5327763d..8295b264 100644 --- a/jedi/evaluate/base_context.py +++ b/jedi/evaluate/base_context.py @@ -164,6 +164,9 @@ class Context(HelperContextMixin, BaseContext): def is_compiled(self): return False + def is_bound_method(self): + return False + def py__bool__(self): """ Since Wrapper is a super class for classes, functions and modules, diff --git a/jedi/evaluate/context/instance.py b/jedi/evaluate/context/instance.py index 0621e4c5..ab26a40f 100644 --- a/jedi/evaluate/context/instance.py +++ b/jedi/evaluate/context/instance.py @@ -369,6 +369,9 @@ class BoundMethod(FunctionMixin, ContextWrapper): super(BoundMethod, self).__init__(function) self.instance = instance + def is_bound_method(self): + return True + def py__class__(self): c, = contexts_from_qualified_names(self.evaluator, u'types', u'MethodType') return c @@ -411,6 +414,9 @@ class CompiledBoundMethod(compiled.CompiledObject): super(CompiledBoundMethod, self).__init__( func.evaluator, func.access_handle, func.parent_context) + def is_bound_method(self): + return True + def get_param_names(self): return list(super(CompiledBoundMethod, self).get_param_names())[1:]