From f31e7a60fe32ff0710ebf6399a4f6c1f9b67d86a Mon Sep 17 00:00:00 2001 From: Randy Lai Date: Tue, 8 May 2018 00:10:29 -0400 Subject: [PATCH] extract function arg_types --- multipledispatch/dispatcher.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/multipledispatch/dispatcher.py b/multipledispatch/dispatcher.py index 67b679c..b7d6adb 100644 --- a/multipledispatch/dispatcher.py +++ b/multipledispatch/dispatcher.py @@ -195,8 +195,14 @@ def reorder(self, on_ambiguity=ambiguity_warn): on_ambiguity(self, amb) return od + def arg_types(self, args): + """Determine of types of the arugments. + Could be overrided to better support metaclasses. + """ + return tuple([type(arg) for arg in args]) + def __call__(self, *args, **kwargs): - types = tuple([type(arg) for arg in args]) + types = self.arg_types(args) try: func = self._cache[types] except KeyError: