changeset 66:32550e12aedf

Simplify some expressions in ast_dump.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Mon, 13 Jun 2016 01:39:20 +0100
parents ce5e27a3f277
children 8ce78e2ba48c
files src/ast_dump.rs src/python_ast.rs
diffstat 2 files changed, 20 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/src/ast_dump.rs
+++ b/src/ast_dump.rs
@@ -274,20 +274,20 @@ impl stmt {
             stmt::ImportFrom(module, names, level) => {
                 format!("{}from {}{} import {}",
                     current_indent,
-                    {
-                        match level {
-                            None => String::new(),
-                            Some(level) => { let dots: String = iter::repeat(".").take(level as usize).collect(); dots }
-                        }
+                    match level {
+                        None => String::new(),
+                        Some(level) => iter::repeat(".").take(level).collect()
                     },
                     module.to_string(),
                     {
                         let mut names_ = vec!();
                         for name in names {
-                            match name.asname {
-                                None => names_.push(name.name),
-                                Some(asname) => names_.push(format!("{} as {}", name.name, asname))
-                            }
+                            names_.push(
+                                match name.asname {
+                                    None => name.name,
+                                    Some(asname) => format!("{} as {}", name.name, asname)
+                                }
+                            )
                         }
                         names_.join(", ")
                     }
@@ -296,10 +296,12 @@ impl stmt {
             stmt::Import(names) => format!("{}import {}", current_indent, {
                 let mut names_ = vec!();
                 for name in names {
-                    match name.asname {
-                        None => names_.push(name.name),
-                        Some(asname) => names_.push(format!("{} as {}", name.name, asname))
-                    }
+                    names_.push(
+                        match name.asname {
+                            None => name.name,
+                            Some(asname) => format!("{} as {}", name.name, asname)
+                        }
+                    )
                 }
                 names_.join(", ")
             }),
@@ -312,21 +314,16 @@ impl stmt {
                 format!("{}assert {}{}",
                     current_indent,
                     test.to_string(),
-                    {
-                        match msg {
-                            Some(msg) => format!(", {}", msg.to_string()),
-                            None => String::new()
-                        }
+                    match msg {
+                        None => String::new(),
+                        Some(msg) => format!(", {}", msg.to_string())
                     }
                 )
             },
             stmt::With(items, body) => {
                 format!("{}with {}:\n{}",
                     current_indent,
-                    {
-                        let items = vec_to_strings_vec(items);
-                        items.join(", ")
-                    },
+                    vec_to_strings_vec(items).join(", "),
                     statements_to_string(indent, body)
                 )
             },
--- a/src/python_ast.rs
+++ b/src/python_ast.rs
@@ -60,7 +60,7 @@ pub enum stmt {
     Import(Vec<alias>),
 
     // ImportFrom(identifier? module, alias* names, int? level)
-    ImportFrom(String, Vec<alias>, Option<i32>),
+    ImportFrom(String, Vec<alias>, Option<usize>),
 
     // Global(identifier* names)
     Global(Vec<String>),