From a2931d7a4883fd53a84cff59558e1dbb01c26675 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 22 May 2019 10:19:47 +0200 Subject: [PATCH] Introduce is_bound_method --- jedi/evaluate/base_context.py | 3 +++ jedi/evaluate/context/instance.py | 6 ++++++ 2 files changed, 9 insertions(+) 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:]