summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Crosley <timothy.crosley@gmail.com>2013-12-22 15:28:16 -0500
committerTimothy Crosley <timothy.crosley@gmail.com>2013-12-22 15:28:16 -0500
commit2a9b5ab7496428c69c056c224edeae5b4b87161c (patch)
tree429db4ab218c3c236b5735b1fb3c7cc1c86565b9
parent9cb943ce7febf4d06b51cdb54784d69ca3ec2b8c (diff)
downloadpies-2a9b5ab7496428c69c056c224edeae5b4b87161c.tar.gz
Add aditional ast cross python version compatibility support
-rw-r--r--pies/ast.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/pies/ast.py b/pies/ast.py
index 43739a1..3821960 100644
--- a/pies/ast.py
+++ b/pies/ast.py
@@ -6,5 +6,23 @@ from .version_info import PY2
if PY2:
Try = TryExcept
+
+ def argument_names(node):
+ return [isinstance(arg, Name) and arg.id or None for arg in node.args.args]
+
+ def kw_only_argument_names(node):
+ return []
+
+ def kw_only_default_count(node):
+ return 0
else:
TryFinally = ()
+
+ def argument_names(node):
+ return [arg.arg for arg in node.args.args]
+
+ def kw_only_argument_names(self):
+ return [arg.arg for arg in node.args.kwonlyargs]
+
+ def kw_only_default_count(self):
+ return sum(1 for n in node.args.kw_defaults if n is not None)