diff src/ast_convert.rs @ 67:8ce78e2ba48c

Implement class keywords.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Mon, 13 Jun 2016 01:43:19 +0100
parents ce5e27a3f277
children c59ad5ccd8a6
line wrap: on
line diff
--- a/src/ast_convert.rs
+++ b/src/ast_convert.rs
@@ -551,16 +551,17 @@ fn parse_statement(py: Python, ast: PyOb
     if is_instance(&ast, &class_def_type) {
         let name = ast.getattr(py, "name").unwrap();
         let bases = ast.getattr(py, "bases").unwrap();
-        //let keywords = ast.getattr(py, "keywords").unwrap();
+        let keywords = ast.getattr(py, "keywords").unwrap();
         let body = ast.getattr(py, "body").unwrap();
         let decorator_list = ast.getattr(py, "decorator_list").unwrap();
 
         let name = get_str(py, name);
         let bases = parse_list(py, bases, parse_expr);
+        let keywords = parse_list(py, keywords, parse_keyword);
         let body = parse_list(py, body, parse_statement);
         let decorator_list = parse_list(py, decorator_list, parse_expr);
 
-        stmt::ClassDef(name, bases, vec!(), body, decorator_list)
+        stmt::ClassDef(name, bases, keywords, body, decorator_list)
     } else if is_instance(&ast, &function_def_type) {
         let name = ast.getattr(py, "name").unwrap();
         let args = ast.getattr(py, "args").unwrap();