diff options
author | Jared Garst <jgarst@users.noreply.github.com> | 2016-10-24 09:18:01 -0700 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2016-12-30 16:17:43 +0200 |
commit | d99980253e1c2242b23572d165dd3a9ff990527c (patch) | |
tree | 7e25f02b6206ee612f490462495ecc1f92218a6c /astroid/tree/rebuilder.py | |
parent | 2fca596fa72783daf315855b4877d1a94b984e0e (diff) | |
download | astroid-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.py | 12 |
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 |