summaryrefslogtreecommitdiff
path: root/astroid/tree/rebuilder.py
diff options
context:
space:
mode:
authorJared Garst <jgarst@users.noreply.github.com>2016-10-24 09:18:01 -0700
committerClaudiu Popa <pcmanticore@gmail.com>2016-12-30 16:17:43 +0200
commitd99980253e1c2242b23572d165dd3a9ff990527c (patch)
tree7e25f02b6206ee612f490462495ecc1f92218a6c /astroid/tree/rebuilder.py
parent2fca596fa72783daf315855b4877d1a94b984e0e (diff)
downloadastroid-git-d99980253e1c2242b23572d165dd3a9ff990527c.tar.gz
add format string support (#365)
Format strings require support for two new nodes, FormattedValue, respectively JoinedStr.
Diffstat (limited to 'astroid/tree/rebuilder.py')
-rw-r--r--astroid/tree/rebuilder.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/astroid/tree/rebuilder.py b/astroid/tree/rebuilder.py
index bb963f38..c45467f8 100644
--- a/astroid/tree/rebuilder.py
+++ b/astroid/tree/rebuilder.py
@@ -873,6 +873,18 @@ class TreeRebuilder3(TreeRebuilder):
def visit_asyncwith(self, node, parent):
return self.visit_with(node, parent, constructor=nodes.AsyncWith)
+ def visit_joinedstr(self, node, parent):
+ newnode = nodes.JoinedStr(node.lineno, node.col_offset, parent)
+ newnode.postinit([self.visit(child, newnode)
+ for child in node.values])
+ return newnode
+
+ def visit_formattedvalue(self, node, parent):
+ newnode = nodes.FormattedValue(node.lineno, node.col_offset, parent)
+ newnode.postinit(self.visit(node.value, newnode),
+ node.conversion,
+ _visit_or_none(node, 'format_spec', self, newnode))
+ return newnode
if sys.version_info >= (3, 0):
TreeRebuilder = TreeRebuilder3