comparison src/ast_dump.rs @ 38:e244c492ff07

Add a test for ClassDef and fix ast_dump for smt::ClassDef.
author Bastien Orivel <eijebong@bananium.fr>
date Sat, 04 Jun 2016 15:28:07 +0200
parents bc3437ecb12b
children 5f1d285471af
comparison
equal deleted inserted replaced
37:2f1625a65d56 38:e244c492ff07
176 176
177 impl stmt { 177 impl stmt {
178 fn to_string(&self, indent: usize) -> String { 178 fn to_string(&self, indent: usize) -> String {
179 let current_indent = make_indent(indent); 179 let current_indent = make_indent(indent);
180 match self.clone() { 180 match self.clone() {
181 stmt::ClassDef(name, bases, keywords, body, decorator_list) => format!("{}def {}({}):\n{}", current_indent, name, args_to_string(bases), statements_to_string(indent, body)), 181 stmt::ClassDef(name, bases, keywords, body, decorator_list) => format!("{}class {}({}):\n{}", current_indent, name, args_to_string(bases), statements_to_string(indent, body)),
182 stmt::FunctionDef(name, arguments, body, decorator_list, returns) => format!("{}def {}({}):\n{}", current_indent, name, arguments_to_string(arguments), statements_to_string(indent, body)), 182 stmt::FunctionDef(name, arguments, body, decorator_list, returns) => format!("{}def {}({}):\n{}", current_indent, name, arguments_to_string(arguments), statements_to_string(indent, body)),
183 stmt::Global(names) => format!("{}global {}", current_indent, names.join(", ")), 183 stmt::Global(names) => format!("{}global {}", current_indent, names.join(", ")),
184 stmt::If(test, body, orelse) => format!("{}if {}:\n{}", current_indent, test.to_string(), if_else_statements_to_string(indent, body, orelse)), 184 stmt::If(test, body, orelse) => format!("{}if {}:\n{}", current_indent, test.to_string(), if_else_statements_to_string(indent, body, orelse)),
185 stmt::While(test, body, orelse) => format!("{}while {}:\n{}", current_indent, test.to_string(), if_else_statements_to_string(indent, body, orelse)), 185 stmt::While(test, body, orelse) => format!("{}while {}:\n{}", current_indent, test.to_string(), if_else_statements_to_string(indent, body, orelse)),
186 stmt::For(target, iter, body, orelse) => format!("{}for {} in {}:\n{}", current_indent, target.to_string(), iter.to_string(), if_else_statements_to_string(indent, body, orelse)), 186 stmt::For(target, iter, body, orelse) => format!("{}for {} in {}:\n{}", current_indent, target.to_string(), iter.to_string(), if_else_statements_to_string(indent, body, orelse)),