@@ -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
@@ -320,6 +321,7 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
320
321
pretty. push_str ( format ! ( "(*_{})" , addr. local) . as_str ( ) ) ;
321
322
}
322
323
Rvalue :: Aggregate ( aggregatekind, operands) => {
324
+ // FIXME: Add pretty_aggregate function that returns a pretty string
323
325
pretty. push_str ( format ! ( "{:#?}" , aggregatekind) . as_str ( ) ) ;
324
326
pretty. push_str ( "(" ) ;
325
327
operands. iter ( ) . enumerate ( ) . for_each ( |( i, op) | {
@@ -330,24 +332,26 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
330
332
} ) ;
331
333
pretty. push_str ( ")" ) ;
332
334
}
333
- Rvalue :: BinaryOp ( bin, op, op2) => {
334
- pretty. push_str ( & pretty_operand ( op) ) ;
335
- pretty. push_str ( " " ) ;
335
+ Rvalue :: BinaryOp ( bin, op1, op2) => {
336
336
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 ( ")" ) ;
339
342
}
340
343
Rvalue :: Cast ( _, op, ty) => {
341
344
pretty. push_str ( & pretty_operand ( op) ) ;
342
345
pretty. push_str ( " as " ) ;
343
346
pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
344
347
}
345
348
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 ( ")" ) ;
351
355
}
352
356
Rvalue :: CopyForDeref ( deref) => {
353
357
pretty. push_str ( "CopyForDeref" ) ;
@@ -362,8 +366,11 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
362
366
pretty. push_str ( format ! ( "{}" , len. local) . as_str ( ) ) ;
363
367
}
364
368
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
+ }
367
374
pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
368
375
}
369
376
Rvalue :: Repeat ( op, cnst) => {
@@ -418,7 +425,7 @@ pub fn pretty_ty(ty: TyKind) -> String {
418
425
FloatTy :: F64 => "f64" . to_string ( ) ,
419
426
} ,
420
427
RigidTy :: Adt ( def, _) => {
421
- format ! ( "{:#? }" , with( |cx| cx. def_ty ( def. 0 ) ) )
428
+ format ! ( "{}" , with( |cx| cx. adt_literal ( & def) ) )
422
429
}
423
430
RigidTy :: Str => "str" . to_string ( ) ,
424
431
RigidTy :: Array ( ty, len) => {
0 commit comments