# HG changeset patch # User Bastien Orivel # Date 1464973209 -7200 # Node ID 25b202005d1df4c8515b092a072ed5f5baa1b054 # Parent 7af637f444d1f6fd4981f6bd1eb9bf506bc08764 Return a String from ast_dump instead of printing it directly. diff --git a/src/ast_dump.rs b/src/ast_dump.rs --- a/src/ast_dump.rs +++ b/src/ast_dump.rs @@ -209,8 +209,12 @@ impl stmt { } #[allow(dead_code)] -pub fn dump_ast(ast: &Module) { +pub fn dump_ast(ast: &Module) -> String { + let mut dumped_statements = vec!(); for statement in &ast.statements { - println!("{}", statement.to_string(0)); + let dumped_statement = statement.to_string(0); + dumped_statements.push(dumped_statement); } + dumped_statements.join("\n") } + diff --git a/src/main.rs b/src/main.rs --- a/src/main.rs +++ b/src/main.rs @@ -49,7 +49,7 @@ fn main() { //python_dump::dump_module(&module); let module_ast = ast_convert::convert_ast("__main__".to_string(), &module); - ast_dump::dump_ast(&module_ast); + println!("{}", ast_dump::dump_ast(&module_ast)); //let scoped_ast = ast_scope::scope_ast(vec!(module_ast)); //println!("{:#?}", scoped_ast); //let new_scoped_ast = ast_scope::check_scoping(scoped_ast);