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