MCPcopy Create free account
hub / github.com/astral-sh/ruff / unparse_interpolated_element

Method unparse_interpolated_element

crates/ruff_python_codegen/src/generator.rs:1488–1528  ·  view source on GitHub ↗
(
        &mut self,
        val: &Expr,
        debug_text: Option<&DebugText>,
        conversion: ConversionFlag,
        spec: Option<&ast::InterpolatedStringFormatSpec>,
        flags: AnyStringF

Source from the content-addressed store, hash-verified

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,

Calls 7

pMethod · 0.80
unparse_exprMethod · 0.45
starts_withMethod · 0.45
leadingMethod · 0.45
trailingMethod · 0.45
is_noneMethod · 0.45

Tested by

no test coverage detected