comparison 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
comparison
equal deleted inserted replaced
66:32550e12aedf 67:8ce78e2ba48c
549 */ 549 */
550 550
551 if is_instance(&ast, &class_def_type) { 551 if is_instance(&ast, &class_def_type) {
552 let name = ast.getattr(py, "name").unwrap(); 552 let name = ast.getattr(py, "name").unwrap();
553 let bases = ast.getattr(py, "bases").unwrap(); 553 let bases = ast.getattr(py, "bases").unwrap();
554 //let keywords = ast.getattr(py, "keywords").unwrap(); 554 let keywords = ast.getattr(py, "keywords").unwrap();
555 let body = ast.getattr(py, "body").unwrap(); 555 let body = ast.getattr(py, "body").unwrap();
556 let decorator_list = ast.getattr(py, "decorator_list").unwrap(); 556 let decorator_list = ast.getattr(py, "decorator_list").unwrap();
557 557
558 let name = get_str(py, name); 558 let name = get_str(py, name);
559 let bases = parse_list(py, bases, parse_expr); 559 let bases = parse_list(py, bases, parse_expr);
560 let keywords = parse_list(py, keywords, parse_keyword);
560 let body = parse_list(py, body, parse_statement); 561 let body = parse_list(py, body, parse_statement);
561 let decorator_list = parse_list(py, decorator_list, parse_expr); 562 let decorator_list = parse_list(py, decorator_list, parse_expr);
562 563
563 stmt::ClassDef(name, bases, vec!(), body, decorator_list) 564 stmt::ClassDef(name, bases, keywords, body, decorator_list)
564 } else if is_instance(&ast, &function_def_type) { 565 } else if is_instance(&ast, &function_def_type) {
565 let name = ast.getattr(py, "name").unwrap(); 566 let name = ast.getattr(py, "name").unwrap();
566 let args = ast.getattr(py, "args").unwrap(); 567 let args = ast.getattr(py, "args").unwrap();
567 let body = ast.getattr(py, "body").unwrap(); 568 let body = ast.getattr(py, "body").unwrap();
568 let decorator_list = ast.getattr(py, "decorator_list").unwrap(); 569 let decorator_list = ast.getattr(py, "decorator_list").unwrap();