summaryrefslogtreecommitdiff
path: root/astroid/node_classes.py
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2015-09-12 14:27:21 +0300
committerClaudiu Popa <pcmanticore@gmail.com>2015-09-12 14:27:21 +0300
commit0ed4b98c751ccc6d19fcdc5e812f1cc942c30961 (patch)
tree234204f7007c0b365617b2ec48b0919952118074 /astroid/node_classes.py
parent68d811bdd4e5c7a630c1455bfca1af310ef4d972 (diff)
downloadastroid-0ed4b98c751ccc6d19fcdc5e812f1cc942c30961.tar.gz
Add Call.starargs and Call.kwargs properties
They were added in order to have a minimum level of backward compatibility, since they were removed from the class. This is also an easy way to retrieve them, instead of looking explicitly for them in args or keywords respectively.
Diffstat (limited to 'astroid/node_classes.py')
-rw-r--r--astroid/node_classes.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/astroid/node_classes.py b/astroid/node_classes.py
index 524cb4e..aef8dd0 100644
--- a/astroid/node_classes.py
+++ b/astroid/node_classes.py
@@ -618,6 +618,16 @@ class Call(bases.NodeNG):
self.args = args
self.keywords = keywords
+ @property
+ def starargs(self):
+ args = self.args or []
+ return [arg for arg in args if isinstance(arg, Starred)]
+
+ @property
+ def kwargs(self):
+ keywords = self.keywords or []
+ return [keyword for keyword in keywords if keyword.arg is None]
+
class Compare(bases.NodeNG):
"""class representing a Compare node"""