@@ -78,6 +78,8 @@ impure fn print_type(ps s, &@ast.ty ty) {
78
78
case ( ast. ty_str ) { wrd ( s, "str" ) ; }
79
79
case ( ast. ty_box ( ?mt) ) { wrd ( s, "@" ) ; print_mt ( s, mt) ; }
80
80
case ( ast. ty_vec ( ?mt) ) { wrd ( s, "vec[" ) ; print_mt ( s, mt) ; wrd ( s, "]" ) ; }
81
+ case ( ast. ty_port ( ?t) ) { wrd ( s, "port[" ) ; print_type ( s, t) ; wrd ( s, "]" ) ; }
82
+ case ( ast. ty_chan ( ?t) ) { wrd ( s, "chan[" ) ; print_type ( s, t) ; wrd ( s, "]" ) ; }
81
83
case ( ast. ty_type ) { wrd ( s, "type" ) ; }
82
84
case ( ast. ty_tup ( ?elts) ) {
83
85
wrd ( s, "tup" ) ;
@@ -481,6 +483,18 @@ impure fn print_expr(ps s, &@ast.expr expr) {
481
483
wrd1 ( s, "=" ) ;
482
484
print_expr ( s, rhs) ;
483
485
}
486
+ case ( ast. expr_send ( ?lhs, ?rhs, _) ) {
487
+ print_expr ( s, lhs) ;
488
+ space ( s) ;
489
+ wrd1 ( s, "<|" ) ;
490
+ print_expr ( s, rhs) ;
491
+ }
492
+ case ( ast. expr_recv ( ?lhs, ?rhs, _) ) {
493
+ print_expr ( s, lhs) ;
494
+ space ( s) ;
495
+ wrd1 ( s, "<-" ) ;
496
+ print_expr ( s, rhs) ;
497
+ }
484
498
case ( ast. expr_field ( ?expr, ?id, _) ) {
485
499
print_expr ( s, expr) ;
486
500
wrd ( s, "." ) ;
@@ -541,6 +555,17 @@ impure fn print_expr(ps s, &@ast.expr expr) {
541
555
}
542
556
// TODO: extension 'body'
543
557
}
558
+ case ( ast. expr_port ( _) ) {
559
+ wrd ( s, "port" ) ;
560
+ popen ( s) ;
561
+ pclose ( s) ;
562
+ }
563
+ case ( ast. expr_chan ( ?expr, _) ) {
564
+ wrd ( s, "chan" ) ;
565
+ popen ( s) ;
566
+ print_expr ( s, expr) ;
567
+ pclose ( s) ;
568
+ }
544
569
}
545
570
end ( s) ;
546
571
}
@@ -563,7 +588,14 @@ impure fn print_decl(ps s, @ast.decl decl) {
563
588
alt ( loc. init ) {
564
589
case ( option. some [ ast. initializer ] ( ?init) ) {
565
590
space ( s) ;
566
- wrd1 ( s, "=" ) ;
591
+ alt ( init. op ) {
592
+ case ( ast. init_assign ) {
593
+ wrd1 ( s, "=" ) ;
594
+ }
595
+ case ( ast. init_recv ) {
596
+ wrd1 ( s, "<-" ) ;
597
+ }
598
+ }
567
599
print_expr ( s, init. expr ) ;
568
600
}
569
601
case ( _) { }
0 commit comments