@@ -180,8 +180,10 @@ impl<'a> Sugg<'a> {
180
180
) -> Self {
181
181
use rustc_ast:: ast:: RangeLimits ;
182
182
183
+ let mut snippet = |span : Span | snippet_with_context ( cx, span, ctxt, default, app) . 0 ;
184
+
183
185
match expr. kind {
184
- _ if expr. span . ctxt ( ) != ctxt => Sugg :: NonParen ( snippet_with_context ( cx , expr. span , ctxt , default , app ) . 0 ) ,
186
+ _ if expr. span . ctxt ( ) != ctxt => Sugg :: NonParen ( snippet ( expr. span ) ) ,
185
187
ast:: ExprKind :: AddrOf ( ..)
186
188
| ast:: ExprKind :: Closure { .. }
187
189
| ast:: ExprKind :: If ( ..)
@@ -224,46 +226,38 @@ impl<'a> Sugg<'a> {
224
226
| ast:: ExprKind :: While ( ..)
225
227
| ast:: ExprKind :: Await ( ..)
226
228
| ast:: ExprKind :: Err ( _)
227
- | ast:: ExprKind :: Dummy => Sugg :: NonParen ( snippet_with_context ( cx , expr. span , ctxt , default , app ) . 0 ) ,
229
+ | ast:: ExprKind :: Dummy => Sugg :: NonParen ( snippet ( expr. span ) ) ,
228
230
ast:: ExprKind :: Range ( ref lhs, ref rhs, RangeLimits :: HalfOpen ) => Sugg :: BinOp (
229
231
AssocOp :: DotDot ,
230
- lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| {
231
- snippet_with_context ( cx, lhs. span , ctxt, default, app) . 0
232
- } ) ,
233
- rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| {
234
- snippet_with_context ( cx, rhs. span , ctxt, default, app) . 0
235
- } ) ,
232
+ lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| snippet ( lhs. span ) ) ,
233
+ rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| snippet ( rhs. span ) ) ,
236
234
) ,
237
235
ast:: ExprKind :: Range ( ref lhs, ref rhs, RangeLimits :: Closed ) => Sugg :: BinOp (
238
236
AssocOp :: DotDotEq ,
239
- lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| {
240
- snippet_with_context ( cx, lhs. span , ctxt, default, app) . 0
241
- } ) ,
242
- rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| {
243
- snippet_with_context ( cx, rhs. span , ctxt, default, app) . 0
244
- } ) ,
237
+ lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| snippet ( lhs. span ) ) ,
238
+ rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| snippet ( rhs. span ) ) ,
245
239
) ,
246
240
ast:: ExprKind :: Assign ( ref lhs, ref rhs, _) => Sugg :: BinOp (
247
241
AssocOp :: Assign ,
248
- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
249
- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
242
+ snippet ( lhs. span ) ,
243
+ snippet ( rhs. span ) ,
250
244
) ,
251
245
ast:: ExprKind :: AssignOp ( op, ref lhs, ref rhs) => Sugg :: BinOp (
252
246
astbinop2assignop ( op) ,
253
- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
254
- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
247
+ snippet ( lhs. span ) ,
248
+ snippet ( rhs. span ) ,
255
249
) ,
256
250
ast:: ExprKind :: Binary ( op, ref lhs, ref rhs) => Sugg :: BinOp (
257
251
AssocOp :: from_ast_binop ( op. node ) ,
258
- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
259
- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
252
+ snippet ( lhs. span ) ,
253
+ snippet ( rhs. span ) ,
260
254
) ,
261
255
ast:: ExprKind :: Cast ( ref lhs, ref ty) |
262
256
//FIXME(chenyukang), remove this after type ascription is removed from AST
263
257
ast:: ExprKind :: Type ( ref lhs, ref ty) => Sugg :: BinOp (
264
258
AssocOp :: As ,
265
- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
266
- snippet_with_context ( cx , ty. span , ctxt , default , app ) . 0 ,
259
+ snippet ( lhs. span ) ,
260
+ snippet ( ty. span ) ,
267
261
) ,
268
262
}
269
263
}
0 commit comments