@@ -12,35 +12,36 @@ use super::BorrowKind;
12
12
pub fn function_name ( item : CrateItem ) -> String {
13
13
let mut pretty_name = String :: new ( ) ;
14
14
let body = item. body ( ) ;
15
- pretty_name. push_str ( "fn " ) ;
16
- pretty_name. push_str ( item. name ( ) . as_str ( ) ) ;
15
+ pretty_name. push_str ( format ! ( "fn {}" , item. name( ) ) . as_str ( ) ) ;
17
16
if body. arg_locals ( ) . is_empty ( ) {
18
17
pretty_name. push_str ( "()" ) ;
19
18
} else {
20
19
pretty_name. push_str ( "(" ) ;
21
20
}
22
21
body. arg_locals ( ) . iter ( ) . enumerate ( ) . for_each ( |( index, local) | {
23
- pretty_name. push_str ( format ! ( "_{}: " , index) . as_str ( ) ) ;
24
- pretty_name. push_str ( & pretty_ty ( local. ty . kind ( ) ) ) ;
22
+ pretty_name. push_str ( format ! ( "_{}: {}" , index, pretty_ty( local. ty. kind( ) ) ) . as_str ( ) ) ;
25
23
} ) ;
26
24
if !body. arg_locals ( ) . is_empty ( ) {
27
25
pretty_name. push_str ( ")" ) ;
28
26
}
29
27
let return_local = body. ret_local ( ) ;
30
- pretty_name. push_str ( " -> " ) ;
31
- pretty_name. push_str ( & pretty_ty ( return_local. ty . kind ( ) ) ) ;
32
- pretty_name. push_str ( " {" ) ;
28
+ pretty_name. push_str ( format ! ( " -> {} {{" , pretty_ty( return_local. ty. kind( ) ) ) . as_str ( ) ) ;
33
29
pretty_name
34
30
}
35
31
36
32
pub fn function_body ( body : & Body ) -> String {
37
33
let mut pretty_body = String :: new ( ) ;
38
34
body. inner_locals ( ) . iter ( ) . enumerate ( ) . for_each ( |( index, local) | {
39
35
pretty_body. push_str ( " " ) ;
40
- pretty_body. push_str ( format ! ( "let {}" , ret_mutability( & local. mutability) ) . as_str ( ) ) ;
41
- pretty_body. push_str ( format ! ( "_{}: " , index) . as_str ( ) ) ;
42
- pretty_body. push_str ( format ! ( "{}" , pretty_ty( local. ty. kind( ) ) ) . as_str ( ) ) ;
43
- pretty_body. push_str ( ";\n " ) ;
36
+ pretty_body. push_str (
37
+ format ! (
38
+ "let {}_{}: {};\n " ,
39
+ ret_mutability( & local. mutability) ,
40
+ index,
41
+ pretty_ty( local. ty. kind( ) )
42
+ )
43
+ . as_str ( ) ,
44
+ ) ;
44
45
} ) ;
45
46
pretty_body
46
47
}
@@ -56,8 +57,7 @@ pub fn pretty_statement(statement: &StatementKind) -> String {
56
57
let mut pretty = String :: new ( ) ;
57
58
match statement {
58
59
StatementKind :: Assign ( place, rval) => {
59
- pretty. push_str ( format ! ( " _{} = " , place. local) . as_str ( ) ) ;
60
- pretty. push_str ( format ! ( "{}" , & pretty_rvalue( rval) ) . as_str ( ) ) ;
60
+ pretty. push_str ( format ! ( " _{} = {}" , place. local, pretty_rvalue( rval) ) . as_str ( ) ) ;
61
61
}
62
62
// FIXME: Add rest of the statements
63
63
StatementKind :: FakeRead ( _, _) => {
@@ -117,7 +117,7 @@ pub fn pretty_terminator<W: io::Write>(terminator: &TerminatorKind, w: &mut W) -
117
117
Ok ( ( ) )
118
118
}
119
119
( 1 , false ) => {
120
- write ! ( w, " -> {:?}" , successors[ 0 ] ) ?;
120
+ write ! ( w, " -> bb {:?}" , successors[ 0 ] ) ?;
121
121
Ok ( ( ) )
122
122
}
123
123
_ => {
@@ -154,9 +154,7 @@ pub fn pretty_terminator_head(terminator: &TerminatorKind) -> String {
154
154
Drop { place, .. } => format ! ( " drop(_{:?})" , place. local) ,
155
155
Call { func, args, destination, .. } => {
156
156
pretty. push_str ( " " ) ;
157
- pretty. push_str ( format ! ( "_{} = " , destination. local) . as_str ( ) ) ;
158
- pretty. push_str ( & pretty_operand ( func) ) ;
159
- pretty. push_str ( "(" ) ;
157
+ pretty. push_str ( format ! ( "_{} = {}(" , destination. local, pretty_operand( func) ) . as_str ( ) ) ;
160
158
args. iter ( ) . enumerate ( ) . for_each ( |( i, arg) | {
161
159
if i > 0 {
162
160
pretty. push_str ( ", " ) ;
@@ -171,9 +169,9 @@ pub fn pretty_terminator_head(terminator: &TerminatorKind) -> String {
171
169
if !expected {
172
170
pretty. push_str ( "!" ) ;
173
171
}
174
- pretty. push_str ( format ! ( "{} bool)," , & pretty_operand ( cond ) ) . as_str ( ) ) ;
175
- pretty . push_str ( & pretty_assert_message ( msg) ) ;
176
- pretty . push_str ( ")" ) ;
172
+ pretty. push_str (
173
+ format ! ( "{} bool),{})" , & pretty_operand ( cond ) , pretty_assert_message( msg) ) . as_str ( ) ,
174
+ ) ;
177
175
pretty
178
176
}
179
177
InlineAsm { .. } => todo ! ( ) ,
@@ -297,16 +295,14 @@ pub fn pretty_operand(operand: &Operand) -> String {
297
295
let mut pretty = String :: new ( ) ;
298
296
match operand {
299
297
Operand :: Copy ( copy) => {
300
- pretty. push_str ( "" ) ;
301
- pretty. push_str ( format ! ( "{}" , copy. local) . as_str ( ) ) ;
298
+ pretty. push_str ( format ! ( "_{}" , copy. local) . as_str ( ) ) ;
302
299
}
303
300
Operand :: Move ( mv) => {
304
- pretty. push_str ( "move " ) ;
305
- pretty. push_str ( format ! ( "_{}" , mv. local) . as_str ( ) ) ;
301
+ pretty. push_str ( format ! ( "move _{}" , mv. local) . as_str ( ) ) ;
306
302
}
307
303
Operand :: Constant ( cnst) => {
308
- pretty. push_str ( "const " ) ;
309
- pretty . push_str ( with ( |cx| cx. const_literal ( & cnst. literal ) ) . as_str ( ) ) ;
304
+ pretty
305
+ . push_str ( format ! ( "const {}" , with( |cx| cx. const_literal( & cnst. literal) ) ) . as_str ( ) ) ;
310
306
}
311
307
}
312
308
pretty
@@ -316,14 +312,11 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
316
312
let mut pretty = String :: new ( ) ;
317
313
match rval {
318
314
Rvalue :: AddressOf ( muta, addr) => {
319
- pretty. push_str ( "&raw " ) ;
320
- pretty. push_str ( & ret_mutability ( muta) ) ;
321
- pretty. push_str ( format ! ( "(*_{})" , addr. local) . as_str ( ) ) ;
315
+ pretty. push_str ( format ! ( "&raw {}(*_{})" , & ret_mutability( muta) , addr. local) . as_str ( ) ) ;
322
316
}
323
317
Rvalue :: Aggregate ( aggregatekind, operands) => {
324
318
// FIXME: Add pretty_aggregate function that returns a pretty string
325
- pretty. push_str ( format ! ( "{:#?}" , aggregatekind) . as_str ( ) ) ;
326
- pretty. push_str ( "(" ) ;
319
+ pretty. push_str ( format ! ( "{:#?} (" , aggregatekind) . as_str ( ) ) ;
327
320
operands. iter ( ) . enumerate ( ) . for_each ( |( i, op) | {
328
321
pretty. push_str ( & pretty_operand ( op) ) ;
329
322
if i != operands. len ( ) - 1 {
@@ -333,37 +326,27 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
333
326
pretty. push_str ( ")" ) ;
334
327
}
335
328
Rvalue :: BinaryOp ( bin, op1, op2) => {
336
- pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
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 ( ")" ) ;
329
+ pretty. push_str (
330
+ format ! ( "{:#?}({}, {})" , bin, & pretty_operand( op1) , pretty_operand( op2) ) . as_str ( ) ,
331
+ ) ;
342
332
}
343
333
Rvalue :: Cast ( _, op, ty) => {
344
- pretty. push_str ( & pretty_operand ( op) ) ;
345
- pretty. push_str ( " as " ) ;
346
- pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
334
+ pretty. push_str ( format ! ( "{} as {}" , pretty_operand( op) , pretty_ty( ty. kind( ) ) ) . as_str ( ) ) ;
347
335
}
348
336
Rvalue :: CheckedBinaryOp ( bin, op1, 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 ( ")" ) ;
337
+ pretty. push_str (
338
+ format ! ( "Checked{:#?}({}, {})" , bin, & pretty_operand( op1) , pretty_operand( op2) )
339
+ . as_str ( ) ,
340
+ ) ;
355
341
}
356
342
Rvalue :: CopyForDeref ( deref) => {
357
- pretty. push_str ( "CopyForDeref" ) ;
358
- pretty. push_str ( format ! ( "{}" , deref. local) . as_str ( ) ) ;
343
+ pretty. push_str ( format ! ( "CopyForDeref{}" , deref. local) . as_str ( ) ) ;
359
344
}
360
345
Rvalue :: Discriminant ( place) => {
361
- pretty. push_str ( "discriminant" ) ;
362
- pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
346
+ pretty. push_str ( format ! ( "discriminant{}" , place. local) . as_str ( ) ) ;
363
347
}
364
348
Rvalue :: Len ( len) => {
365
- pretty. push_str ( "len" ) ;
366
- pretty. push_str ( format ! ( "{}" , len. local) . as_str ( ) ) ;
349
+ pretty. push_str ( format ! ( "len{}" , len. local) . as_str ( ) ) ;
367
350
}
368
351
Rvalue :: Ref ( _, borrowkind, place) => {
369
352
match borrowkind {
@@ -374,24 +357,19 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
374
357
pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
375
358
}
376
359
Rvalue :: Repeat ( op, cnst) => {
377
- pretty. push_str ( & pretty_operand ( op ) ) ;
378
- pretty . push_str ( " " ) ;
379
- pretty . push_str ( & pretty_ty ( cnst . ty ( ) . kind ( ) ) ) ;
360
+ pretty. push_str (
361
+ & format ! ( "{} \" \" {}" , & pretty_operand ( op ) , pretty_ty ( cnst . ty ( ) . kind ( ) ) ) . as_str ( ) ,
362
+ ) ;
380
363
}
381
364
Rvalue :: ShallowInitBox ( _, _) => ( ) ,
382
365
Rvalue :: ThreadLocalRef ( item) => {
383
- pretty. push_str ( "thread_local_ref" ) ;
384
- pretty. push_str ( format ! ( "{:#?}" , item) . as_str ( ) ) ;
366
+ pretty. push_str ( format ! ( "thread_local_ref{:#?}" , item) . as_str ( ) ) ;
385
367
}
386
368
Rvalue :: NullaryOp ( nul, ty) => {
387
- pretty. push_str ( format ! ( "{:#?}" , nul) . as_str ( ) ) ;
388
- pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
389
- pretty. push_str ( " " ) ;
369
+ pretty. push_str ( format ! ( "{:#?} {} \" \" " , nul, pretty_ty( ty. kind( ) ) ) . as_str ( ) ) ;
390
370
}
391
371
Rvalue :: UnaryOp ( un, op) => {
392
- pretty. push_str ( & pretty_operand ( op) ) ;
393
- pretty. push_str ( " " ) ;
394
- pretty. push_str ( format ! ( "{:#?}" , un) . as_str ( ) ) ;
372
+ pretty. push_str ( format ! ( "{} \" \" {:#?}" , pretty_operand( op) , un) . as_str ( ) ) ;
395
373
}
396
374
Rvalue :: Use ( op) => pretty. push_str ( & pretty_operand ( op) ) ,
397
375
}
@@ -458,8 +436,7 @@ pub fn pretty_ty(ty: TyKind) -> String {
458
436
DynKind :: Dyn => pretty. push_str ( "dyn " ) ,
459
437
DynKind :: DynStar => pretty. push_str ( "dyn* " ) ,
460
438
}
461
- pretty. push_str ( format ! ( "{:#?}" , data) . as_str ( ) ) ;
462
- pretty. push_str ( format ! ( " + {:#?} )" , region) . as_str ( ) ) ;
439
+ pretty. push_str ( format ! ( "{:#?} + {:#?}" , data, region) . as_str ( ) ) ;
463
440
pretty
464
441
}
465
442
RigidTy :: Never => "!" . to_string ( ) ,
0 commit comments