diff src/ast_dump.rs @ 86:a7b1db623f41

Implement NameConstant correctly.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 22 Jun 2016 22:55:55 +0100
parents 09f5e0d7bcf3
children 898876834564
line wrap: on
line diff
--- a/src/ast_dump.rs
+++ b/src/ast_dump.rs
@@ -1,4 +1,4 @@
-use python_ast::{Module, stmt, expr, boolop, operator, unaryop, cmpop, arguments, arg, keyword, comprehension, withitem, excepthandler, slice};
+use python_ast::{Module, stmt, expr, boolop, operator, unaryop, cmpop, arguments, arg, keyword, comprehension, withitem, excepthandler, slice, name_constant};
 
 use std::iter;
 
@@ -196,7 +196,11 @@ impl to_string_able for expr {
             }),
             expr::Num(n) => format!("{}", n),
             expr::Str(s) => format!("\"{}\"", s),
-            expr::NameConstant(name) => format!("{}", name),
+            expr::NameConstant(constant) => match constant {
+                name_constant::True => String::from("True"),
+                name_constant::False => String::from("False"),
+                name_constant::None_ => String::from("None")
+            },
             expr::Attribute(value, attr, _) => format!("{}.{}", value.to_string(), attr),
             expr::Name(name, _) => format!("{}", name),
             expr::List(elts, _) => format!("[{}]", vec_to_strings_vec(elts).join(", ")),