summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/decorator.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/decorator.py b/src/decorator.py
index 28ec16a..e6d456d 100644
--- a/src/decorator.py
+++ b/src/decorator.py
@@ -286,6 +286,10 @@ def dispatch_on(*dispatch_args):
dispatch_str = '(%s,)' % ', '.join(dispatch_args)
def generic(func):
+ # first check the dispatch arguments
+ argset = set(inspect.getargspec(func).args)
+ if not set(dispatch_args) <= argset:
+ raise NameError('Unknown dispatch arguments %s' % dispatch_str)
typemap = {(object,) * len(dispatch_args): func}