From 746c1bc56837dcaca68465256890756a2c676643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Pluta?= Date: Wed, 10 Jul 2019 11:34:25 +0200 Subject: [PATCH] Enable allTypes() for type specifiers --- smnp/runtime/evaluators/function.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/smnp/runtime/evaluators/function.py b/smnp/runtime/evaluators/function.py index 8e1c182..87d8d72 100644 --- a/smnp/runtime/evaluators/function.py +++ b/smnp/runtime/evaluators/function.py @@ -77,6 +77,9 @@ def argumentsNodeToMethodSignature(node): def multipleTypeMatcher(typeNode): subSignature = [] + if len(typeNode.type.children) == 0: + return allTypes() + for child in typeNode.type.children: m = typeMatcher(child) subSignature.append(m) @@ -99,6 +102,9 @@ def typeMatcher(typeNode): def listSpecifier(specifier): subSignature = [] + if len(specifier.children) == 0: + subSignature.append(allTypes()) + for child in specifier.children: subSignature.append(typeMatcher(child)) @@ -108,6 +114,12 @@ def mapSpecifier(keySpecifier, valueSpecifier): keySubSignature = [] valueSubSignature = [] + if len(keySpecifier.children) == 0: + keySubSignature.append(allTypes()) + + if len(valueSpecifier.children) == 0: + valueSubSignature.append(allTypes()) + for child in keySpecifier.children: keySubSignature.append(typeMatcher(child))