@@ -7,6 +7,8 @@ use std::{io, iter};
77
88use super :: { AssertMessage , BinOp , TerminatorKind } ;
99
10+ use super :: BorrowKind ;
11+
1012pub fn function_name ( item : CrateItem ) -> String {
1113 let mut pretty_name = String :: new ( ) ;
1214 let body = item. body ( ) ;
@@ -40,7 +42,6 @@ pub fn function_body(body: &Body) -> String {
4042 pretty_body. push_str ( format ! ( "{}" , pretty_ty( local. ty. kind( ) ) ) . as_str ( ) ) ;
4143 pretty_body. push_str ( ";\n " ) ;
4244 } ) ;
43- pretty_body. push_str ( "}" ) ;
4445 pretty_body
4546}
4647
@@ -320,6 +321,7 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
320321 pretty. push_str ( format ! ( "(*_{})" , addr. local) . as_str ( ) ) ;
321322 }
322323 Rvalue :: Aggregate ( aggregatekind, operands) => {
324+ // FIXME: Add pretty_aggregate function that returns a pretty string
323325 pretty. push_str ( format ! ( "{:#?}" , aggregatekind) . as_str ( ) ) ;
324326 pretty. push_str ( "(" ) ;
325327 operands. iter ( ) . enumerate ( ) . for_each ( |( i, op) | {
@@ -330,24 +332,26 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
330332 } ) ;
331333 pretty. push_str ( ")" ) ;
332334 }
333- Rvalue :: BinaryOp ( bin, op, op2) => {
334- pretty. push_str ( & pretty_operand ( op) ) ;
335- pretty. push_str ( " " ) ;
335+ Rvalue :: BinaryOp ( bin, op1, op2) => {
336336 pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
337- pretty. push_str ( " " ) ;
338- pretty. push_str ( & pretty_operand ( op2) ) ;
337+ pretty. push_str ( "(" ) ;
338+ pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
339+ pretty. push_str ( ", " ) ;
340+ pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
341+ pretty. push_str ( ")" ) ;
339342 }
340343 Rvalue :: Cast ( _, op, ty) => {
341344 pretty. push_str ( & pretty_operand ( op) ) ;
342345 pretty. push_str ( " as " ) ;
343346 pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
344347 }
345348 Rvalue :: CheckedBinaryOp ( bin, op1, op2) => {
346- pretty. push_str ( & pretty_operand ( op1) ) ;
347- pretty. push_str ( " " ) ;
348- pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
349- pretty. push_str ( " " ) ;
350- pretty. push_str ( & pretty_operand ( op2) ) ;
349+ pretty. push_str ( format ! ( "Checked{:#?}" , bin) . as_str ( ) ) ;
350+ pretty. push_str ( "(" ) ;
351+ pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
352+ pretty. push_str ( ", " ) ;
353+ pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
354+ pretty. push_str ( ")" ) ;
351355 }
352356 Rvalue :: CopyForDeref ( deref) => {
353357 pretty. push_str ( "CopyForDeref" ) ;
@@ -362,8 +366,11 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
362366 pretty. push_str ( format ! ( "{}" , len. local) . as_str ( ) ) ;
363367 }
364368 Rvalue :: Ref ( _, borrowkind, place) => {
365- pretty. push_str ( "ref" ) ;
366- pretty. push_str ( format ! ( "{:#?}" , borrowkind) . as_str ( ) ) ;
369+ match borrowkind {
370+ BorrowKind :: Shared => pretty. push_str ( "&" ) ,
371+ BorrowKind :: Fake => pretty. push_str ( "&fake " ) ,
372+ BorrowKind :: Mut { .. } => pretty. push_str ( "&mut " ) ,
373+ }
367374 pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
368375 }
369376 Rvalue :: Repeat ( op, cnst) => {
@@ -418,7 +425,7 @@ pub fn pretty_ty(ty: TyKind) -> String {
418425 FloatTy :: F64 => "f64" . to_string ( ) ,
419426 } ,
420427 RigidTy :: Adt ( def, _) => {
421- format ! ( "{:#? }" , with( |cx| cx. def_ty ( def. 0 ) ) )
428+ format ! ( "{}" , with( |cx| cx. adt_literal ( & def) ) )
422429 }
423430 RigidTy :: Str => "str" . to_string ( ) ,
424431 RigidTy :: Array ( ty, len) => {
0 commit comments