@@ -7,6 +7,8 @@ use std::{io, iter};
7
7
8
8
use super :: { AssertMessage , BinOp , TerminatorKind } ;
9
9
10
+ use super :: BorrowKind ;
11
+
10
12
pub fn function_name ( item : CrateItem ) -> String {
11
13
let mut pretty_name = String :: new ( ) ;
12
14
let body = item. body ( ) ;
@@ -40,7 +42,6 @@ pub fn function_body(body: &Body) -> String {
40
42
pretty_body. push_str ( format ! ( "{}" , pretty_ty( local. ty. kind( ) ) ) . as_str ( ) ) ;
41
43
pretty_body. push_str ( ";\n " ) ;
42
44
} ) ;
43
- pretty_body. push_str ( "}" ) ;
44
45
pretty_body
45
46
}
46
47
@@ -305,6 +306,7 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
305
306
pretty. push_str ( format ! ( "(*_{})" , addr. local) . as_str ( ) ) ;
306
307
}
307
308
Rvalue :: Aggregate ( aggregatekind, operands) => {
309
+ // FIXME: Add pretty_aggregate function that returns a pretty string
308
310
pretty. push_str ( format ! ( "{:#?}" , aggregatekind) . as_str ( ) ) ;
309
311
pretty. push_str ( "(" ) ;
310
312
operands. iter ( ) . enumerate ( ) . for_each ( |( i, op) | {
@@ -315,24 +317,26 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
315
317
} ) ;
316
318
pretty. push_str ( ")" ) ;
317
319
}
318
- Rvalue :: BinaryOp ( bin, op, op2) => {
319
- pretty. push_str ( & pretty_operand ( op) ) ;
320
- pretty. push_str ( " " ) ;
320
+ Rvalue :: BinaryOp ( bin, op1, op2) => {
321
321
pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
322
- pretty. push_str ( " " ) ;
323
- pretty. push_str ( & pretty_operand ( op2) ) ;
322
+ pretty. push_str ( "(" ) ;
323
+ pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
324
+ pretty. push_str ( ", " ) ;
325
+ pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
326
+ pretty. push_str ( ")" ) ;
324
327
}
325
328
Rvalue :: Cast ( _, op, ty) => {
326
329
pretty. push_str ( & pretty_operand ( op) ) ;
327
330
pretty. push_str ( " as " ) ;
328
331
pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
329
332
}
330
333
Rvalue :: CheckedBinaryOp ( bin, op1, op2) => {
331
- pretty. push_str ( & pretty_operand ( op1) ) ;
332
- pretty. push_str ( " " ) ;
333
- pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
334
- pretty. push_str ( " " ) ;
335
- pretty. push_str ( & pretty_operand ( op2) ) ;
334
+ pretty. push_str ( format ! ( "Checked{:#?}" , bin) . as_str ( ) ) ;
335
+ pretty. push_str ( "(" ) ;
336
+ pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
337
+ pretty. push_str ( ", " ) ;
338
+ pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
339
+ pretty. push_str ( ")" ) ;
336
340
}
337
341
Rvalue :: CopyForDeref ( deref) => {
338
342
pretty. push_str ( "CopyForDeref" ) ;
@@ -347,8 +351,11 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
347
351
pretty. push_str ( format ! ( "{}" , len. local) . as_str ( ) ) ;
348
352
}
349
353
Rvalue :: Ref ( _, borrowkind, place) => {
350
- pretty. push_str ( "ref" ) ;
351
- pretty. push_str ( format ! ( "{:#?}" , borrowkind) . as_str ( ) ) ;
354
+ match borrowkind {
355
+ BorrowKind :: Shared => pretty. push_str ( "&" ) ,
356
+ BorrowKind :: Fake => pretty. push_str ( "&fake " ) ,
357
+ BorrowKind :: Mut { .. } => pretty. push_str ( "&mut " ) ,
358
+ }
352
359
pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
353
360
}
354
361
Rvalue :: Repeat ( op, cnst) => {
@@ -403,7 +410,7 @@ pub fn pretty_ty(ty: TyKind) -> String {
403
410
FloatTy :: F64 => "f64" . to_string ( ) ,
404
411
} ,
405
412
RigidTy :: Adt ( def, _) => {
406
- format ! ( "{:#? }" , with( |cx| cx. def_ty ( def. 0 ) ) )
413
+ format ! ( "{}" , with( |cx| cx. adt_literal ( & def) ) )
407
414
}
408
415
RigidTy :: Str => "str" . to_string ( ) ,
409
416
RigidTy :: Array ( ty, len) => {
0 commit comments