diff src/ast_convert.rs @ 76:efd42fc280e8

Add ast.Set.
author Bastien Orivel <eijebong@bananium.fr>
date Mon, 13 Jun 2016 19:19:49 +0200
parents 1abc8ca9f30b
children 7d1406181aae
line wrap: on
line diff
--- a/src/ast_convert.rs
+++ b/src/ast_convert.rs
@@ -304,6 +304,7 @@ fn parse_expr(py: Python, ast: PyObject)
     let await_type = ast_module.get(py, "Await").unwrap();
     let yield_type = ast_module.get(py, "Yield").unwrap();
     let yield_from_type = ast_module.get(py, "YieldFrom").unwrap();
+    let set_type = ast_module.get(py, "Set").unwrap();
 
     assert!(is_instance(&ast, &ast_type));
 
@@ -420,6 +421,11 @@ fn parse_expr(py: Python, ast: PyObject)
         let value = parse_expr(py, value);
 
         expr::YieldFrom(Box::new(value))
+    } else if is_instance(&ast, &set_type) {
+        let elts = ast.getattr(py, "elts").unwrap();
+        let elements = parse_list(py, elts, parse_expr);
+
+        expr::Set(elements)
     } else {
         println!("expr {}", ast);
         unreachable!()