(
&mut self,
val: &Expr,
debug_text: Option<&DebugText>,
conversion: ConversionFlag,
spec: Option<&ast::InterpolatedStringFormatSpec>,
flags: AnyStringF
| 1486 | } |
| 1487 | |
| 1488 | fn unparse_interpolated_element( |
| 1489 | &mut self, |
| 1490 | val: &Expr, |
| 1491 | debug_text: Option<&DebugText>, |
| 1492 | conversion: ConversionFlag, |
| 1493 | spec: Option<&ast::InterpolatedStringFormatSpec>, |
| 1494 | flags: AnyStringFlags, |
| 1495 | ) { |
| 1496 | let mut generator = Generator::new(self.indent, self.line_ending); |
| 1497 | generator.unparse_expr(val, precedence::FORMATTED_VALUE); |
| 1498 | let brace = if generator.buffer.starts_with('{') { |
| 1499 | // put a space to avoid escaping the bracket |
| 1500 | "{ " |
| 1501 | } else { |
| 1502 | "{" |
| 1503 | }; |
| 1504 | self.p(brace); |
| 1505 | |
| 1506 | if let Some(debug_text) = debug_text { |
| 1507 | self.buffer += debug_text.leading(); |
| 1508 | } |
| 1509 | |
| 1510 | self.buffer += &generator.buffer; |
| 1511 | |
| 1512 | if let Some(debug_text) = debug_text { |
| 1513 | self.buffer += debug_text.trailing(); |
| 1514 | } |
| 1515 | |
| 1516 | if !conversion.is_none() { |
| 1517 | self.p("!"); |
| 1518 | |
| 1519 | self.p(&format!("{}", conversion as u8 as char)); |
| 1520 | } |
| 1521 | |
| 1522 | if let Some(spec) = spec { |
| 1523 | self.p(":"); |
| 1524 | self.unparse_f_string_specifier(&spec.elements, flags); |
| 1525 | } |
| 1526 | |
| 1527 | self.p("}"); |
| 1528 | } |
| 1529 | |
| 1530 | fn unparse_interpolated_string_element( |
| 1531 | &mut self, |
no test coverage detected