@@ -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
StatementKind :: FakeRead ( _, _) => todo ! ( ) ,
63
63
StatementKind :: SetDiscriminant { .. } => todo ! ( ) ,
@@ -100,7 +100,7 @@ pub fn pretty_terminator<W: io::Write>(terminator: &TerminatorKind, w: &mut W) -
100
100
Ok ( ( ) )
101
101
}
102
102
( 1 , false ) => {
103
- write ! ( w, " -> {:?}" , successors[ 0 ] ) ?;
103
+ write ! ( w, " -> bb {:?}" , successors[ 0 ] ) ?;
104
104
Ok ( ( ) )
105
105
}
106
106
_ => {
@@ -137,9 +137,7 @@ pub fn pretty_terminator_head(terminator: &TerminatorKind) -> String {
137
137
Drop { place, .. } => format ! ( " drop(_{:?})" , place. local) ,
138
138
Call { func, args, destination, .. } => {
139
139
pretty. push_str ( " " ) ;
140
- pretty. push_str ( format ! ( "_{} = " , destination. local) . as_str ( ) ) ;
141
- pretty. push_str ( & pretty_operand ( func) ) ;
142
- pretty. push_str ( "(" ) ;
140
+ pretty. push_str ( format ! ( "_{} = {}(" , destination. local, pretty_operand( func) ) . as_str ( ) ) ;
143
141
args. iter ( ) . enumerate ( ) . for_each ( |( i, arg) | {
144
142
if i > 0 {
145
143
pretty. push_str ( ", " ) ;
@@ -154,9 +152,9 @@ pub fn pretty_terminator_head(terminator: &TerminatorKind) -> String {
154
152
if !expected {
155
153
pretty. push_str ( "!" ) ;
156
154
}
157
- pretty. push_str ( format ! ( "{} bool)," , & pretty_operand ( cond ) ) . as_str ( ) ) ;
158
- pretty . push_str ( & pretty_assert_message ( msg) ) ;
159
- pretty . push_str ( ")" ) ;
155
+ pretty. push_str (
156
+ format ! ( "{} bool),{})" , & pretty_operand ( cond ) , pretty_assert_message( msg) ) . as_str ( ) ,
157
+ ) ;
160
158
pretty
161
159
}
162
160
InlineAsm { .. } => todo ! ( ) ,
@@ -281,16 +279,14 @@ pub fn pretty_operand(operand: &Operand) -> String {
281
279
let mut pretty = String :: new ( ) ;
282
280
match operand {
283
281
Operand :: Copy ( copy) => {
284
- pretty. push_str ( "" ) ;
285
- pretty. push_str ( format ! ( "{}" , copy. local) . as_str ( ) ) ;
282
+ pretty. push_str ( format ! ( "_{}" , copy. local) . as_str ( ) ) ;
286
283
}
287
284
Operand :: Move ( mv) => {
288
- pretty. push_str ( "move " ) ;
289
- pretty. push_str ( format ! ( "_{}" , mv. local) . as_str ( ) ) ;
285
+ pretty. push_str ( format ! ( "move _{}" , mv. local) . as_str ( ) ) ;
290
286
}
291
287
Operand :: Constant ( cnst) => {
292
- pretty. push_str ( "const " ) ;
293
- pretty . push_str ( with ( |cx| cx. const_literal ( & cnst. literal ) ) . as_str ( ) ) ;
288
+ pretty
289
+ . push_str ( format ! ( "const {}" , with( |cx| cx. const_literal( & cnst. literal) ) ) . as_str ( ) ) ;
294
290
}
295
291
}
296
292
pretty
@@ -300,14 +296,11 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
300
296
let mut pretty = String :: new ( ) ;
301
297
match rval {
302
298
Rvalue :: AddressOf ( muta, addr) => {
303
- pretty. push_str ( "&raw " ) ;
304
- pretty. push_str ( & ret_mutability ( muta) ) ;
305
- pretty. push_str ( format ! ( "(*_{})" , addr. local) . as_str ( ) ) ;
299
+ pretty. push_str ( format ! ( "&raw {}(*_{})" , & ret_mutability( muta) , addr. local) . as_str ( ) ) ;
306
300
}
307
301
Rvalue :: Aggregate ( aggregatekind, operands) => {
308
302
// FIXME: Add pretty_aggregate function that returns a pretty string
309
- pretty. push_str ( format ! ( "{:#?}" , aggregatekind) . as_str ( ) ) ;
310
- pretty. push_str ( "(" ) ;
303
+ pretty. push_str ( format ! ( "{:#?} (" , aggregatekind) . as_str ( ) ) ;
311
304
operands. iter ( ) . enumerate ( ) . for_each ( |( i, op) | {
312
305
pretty. push_str ( & pretty_operand ( op) ) ;
313
306
if i != operands. len ( ) - 1 {
@@ -317,37 +310,27 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
317
310
pretty. push_str ( ")" ) ;
318
311
}
319
312
Rvalue :: BinaryOp ( bin, op1, op2) => {
320
- pretty. push_str ( format ! ( "{:#?}" , bin) . as_str ( ) ) ;
321
- pretty. push_str ( "(" ) ;
322
- pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
323
- pretty. push_str ( ", " ) ;
324
- pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
325
- pretty. push_str ( ")" ) ;
313
+ pretty. push_str (
314
+ format ! ( "{:#?}({}, {})" , bin, & pretty_operand( op1) , pretty_operand( op2) ) . as_str ( ) ,
315
+ ) ;
326
316
}
327
317
Rvalue :: Cast ( _, op, ty) => {
328
- pretty. push_str ( & pretty_operand ( op) ) ;
329
- pretty. push_str ( " as " ) ;
330
- pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
318
+ pretty. push_str ( format ! ( "{} as {}" , pretty_operand( op) , pretty_ty( ty. kind( ) ) ) . as_str ( ) ) ;
331
319
}
332
320
Rvalue :: CheckedBinaryOp ( bin, op1, op2) => {
333
- pretty. push_str ( format ! ( "Checked{:#?}" , bin) . as_str ( ) ) ;
334
- pretty. push_str ( "(" ) ;
335
- pretty. push_str ( format ! ( "_{}" , & pretty_operand( op1) ) . as_str ( ) ) ;
336
- pretty. push_str ( ", " ) ;
337
- pretty. push_str ( format ! ( "{}" , & pretty_operand( op2) ) . as_str ( ) ) ;
338
- pretty. push_str ( ")" ) ;
321
+ pretty. push_str (
322
+ format ! ( "Checked{:#?}({}, {})" , bin, & pretty_operand( op1) , pretty_operand( op2) )
323
+ . as_str ( ) ,
324
+ ) ;
339
325
}
340
326
Rvalue :: CopyForDeref ( deref) => {
341
- pretty. push_str ( "CopyForDeref" ) ;
342
- pretty. push_str ( format ! ( "{}" , deref. local) . as_str ( ) ) ;
327
+ pretty. push_str ( format ! ( "CopyForDeref{}" , deref. local) . as_str ( ) ) ;
343
328
}
344
329
Rvalue :: Discriminant ( place) => {
345
- pretty. push_str ( "discriminant" ) ;
346
- pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
330
+ pretty. push_str ( format ! ( "discriminant{}" , place. local) . as_str ( ) ) ;
347
331
}
348
332
Rvalue :: Len ( len) => {
349
- pretty. push_str ( "len" ) ;
350
- pretty. push_str ( format ! ( "{}" , len. local) . as_str ( ) ) ;
333
+ pretty. push_str ( format ! ( "len{}" , len. local) . as_str ( ) ) ;
351
334
}
352
335
Rvalue :: Ref ( _, borrowkind, place) => {
353
336
match borrowkind {
@@ -358,24 +341,19 @@ pub fn pretty_rvalue(rval: &Rvalue) -> String {
358
341
pretty. push_str ( format ! ( "{}" , place. local) . as_str ( ) ) ;
359
342
}
360
343
Rvalue :: Repeat ( op, cnst) => {
361
- pretty. push_str ( & pretty_operand ( op ) ) ;
362
- pretty . push_str ( " " ) ;
363
- pretty . push_str ( & pretty_ty ( cnst . ty ( ) . kind ( ) ) ) ;
344
+ pretty. push_str (
345
+ & format ! ( "{} \" \" {}" , & pretty_operand ( op ) , pretty_ty ( cnst . ty ( ) . kind ( ) ) ) . as_str ( ) ,
346
+ ) ;
364
347
}
365
348
Rvalue :: ShallowInitBox ( _, _) => todo ! ( ) ,
366
349
Rvalue :: ThreadLocalRef ( item) => {
367
- pretty. push_str ( "thread_local_ref" ) ;
368
- pretty. push_str ( format ! ( "{:#?}" , item) . as_str ( ) ) ;
350
+ pretty. push_str ( format ! ( "thread_local_ref{:#?}" , item) . as_str ( ) ) ;
369
351
}
370
352
Rvalue :: NullaryOp ( nul, ty) => {
371
- pretty. push_str ( format ! ( "{:#?}" , nul) . as_str ( ) ) ;
372
- pretty. push_str ( & pretty_ty ( ty. kind ( ) ) ) ;
373
- pretty. push_str ( " " ) ;
353
+ pretty. push_str ( format ! ( "{:#?} {} \" \" " , nul, pretty_ty( ty. kind( ) ) ) . as_str ( ) ) ;
374
354
}
375
355
Rvalue :: UnaryOp ( un, op) => {
376
- pretty. push_str ( & pretty_operand ( op) ) ;
377
- pretty. push_str ( " " ) ;
378
- pretty. push_str ( format ! ( "{:#?}" , un) . as_str ( ) ) ;
356
+ pretty. push_str ( format ! ( "{} \" \" {:#?}" , pretty_operand( op) , un) . as_str ( ) ) ;
379
357
}
380
358
Rvalue :: Use ( op) => pretty. push_str ( & pretty_operand ( op) ) ,
381
359
}
@@ -442,8 +420,7 @@ pub fn pretty_ty(ty: TyKind) -> String {
442
420
DynKind :: Dyn => pretty. push_str ( "dyn " ) ,
443
421
DynKind :: DynStar => pretty. push_str ( "dyn* " ) ,
444
422
}
445
- pretty. push_str ( format ! ( "{:#?}" , data) . as_str ( ) ) ;
446
- pretty. push_str ( format ! ( " + {:#?} )" , region) . as_str ( ) ) ;
423
+ pretty. push_str ( format ! ( "{:#?} + {:#?}" , data, region) . as_str ( ) ) ;
447
424
pretty
448
425
}
449
426
RigidTy :: Never => "!" . to_string ( ) ,
0 commit comments