Mercurial > python-compiler.rs
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(", ")),