Remove lifetime from FormatContext (#4376)

This commit is contained in:
Micha Reiser 2023-05-11 17:43:42 +02:00 committed by GitHub
parent 6a52577630
commit 1ccef5150d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 124 additions and 138 deletions

View file

@ -3,23 +3,21 @@ use std::rc::Rc;
use ruff_formatter::{FormatContext, SimpleFormatOptions};
use ruff_python_ast::source_code::Locator;
pub struct ASTFormatContext<'a> {
pub struct ASTFormatContext {
options: SimpleFormatOptions,
contents: Rc<str>,
locator: Locator<'a>,
}
impl<'a> ASTFormatContext<'a> {
pub fn new(options: SimpleFormatOptions, locator: Locator<'a>) -> Self {
impl ASTFormatContext {
pub fn new(options: SimpleFormatOptions, contents: &str) -> Self {
Self {
options,
contents: Rc::from(locator.contents()),
locator,
contents: Rc::from(contents),
}
}
}
impl FormatContext for ASTFormatContext<'_> {
impl FormatContext for ASTFormatContext {
type Options = SimpleFormatOptions;
fn options(&self) -> &Self::Options {
@ -27,12 +25,12 @@ impl FormatContext for ASTFormatContext<'_> {
}
}
impl<'a> ASTFormatContext<'a> {
pub fn contents(&'a self) -> Rc<str> {
impl ASTFormatContext {
pub fn contents(&self) -> Rc<str> {
self.contents.clone()
}
pub fn locator(&'a self) -> &'a Locator {
&self.locator
pub fn locator(&self) -> Locator {
Locator::new(&self.contents)
}
}

View file

@ -11,7 +11,7 @@ pub struct FormatAlias<'a> {
item: &'a Alias,
}
impl AsFormat<ASTFormatContext<'_>> for Alias {
impl AsFormat<ASTFormatContext> for Alias {
type Format<'a> = FormatAlias<'a>;
fn format(&self) -> Self::Format<'_> {
@ -19,7 +19,7 @@ impl AsFormat<ASTFormatContext<'_>> for Alias {
}
}
impl Format<ASTFormatContext<'_>> for FormatAlias<'_> {
impl Format<ASTFormatContext> for FormatAlias<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let alias = self.item;

View file

@ -11,7 +11,7 @@ pub struct FormatArg<'a> {
item: &'a Arg,
}
impl AsFormat<ASTFormatContext<'_>> for Arg {
impl AsFormat<ASTFormatContext> for Arg {
type Format<'a> = FormatArg<'a>;
fn format(&self) -> Self::Format<'_> {
@ -19,7 +19,7 @@ impl AsFormat<ASTFormatContext<'_>> for Arg {
}
}
impl Format<ASTFormatContext<'_>> for FormatArg<'_> {
impl Format<ASTFormatContext> for FormatArg<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let arg = self.item;

View file

@ -9,7 +9,7 @@ pub struct FormatArguments<'a> {
item: &'a Arguments,
}
impl AsFormat<ASTFormatContext<'_>> for Arguments {
impl AsFormat<ASTFormatContext> for Arguments {
type Format<'a> = FormatArguments<'a>;
fn format(&self) -> Self::Format<'_> {
@ -17,8 +17,8 @@ impl AsFormat<ASTFormatContext<'_>> for Arguments {
}
}
impl Format<ASTFormatContext<'_>> for FormatArguments<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FormatArguments<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let args = self.item;
let mut first = true;

View file

@ -10,7 +10,7 @@ pub struct FormatBoolOp<'a> {
item: &'a BoolOp,
}
impl AsFormat<ASTFormatContext<'_>> for BoolOp {
impl AsFormat<ASTFormatContext> for BoolOp {
type Format<'a> = FormatBoolOp<'a>;
fn format(&self) -> Self::Format<'_> {
@ -18,7 +18,7 @@ impl AsFormat<ASTFormatContext<'_>> for BoolOp {
}
}
impl Format<ASTFormatContext<'_>> for FormatBoolOp<'_> {
impl Format<ASTFormatContext> for FormatBoolOp<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let bool_op = self.item;
write!(f, [leading_comments(bool_op)])?;

View file

@ -12,8 +12,8 @@ pub struct Block<'a> {
body: &'a Body,
}
impl Format<ASTFormatContext<'_>> for Block<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for Block<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
for (i, stmt) in self.body.node.iter().enumerate() {
if i > 0 {
write!(f, [hard_line_break()])?;
@ -49,8 +49,8 @@ pub struct Statements<'a> {
suite: &'a [Stmt],
}
impl Format<ASTFormatContext<'_>> for Statements<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for Statements<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
for (i, stmt) in self.suite.iter().enumerate() {
if i > 0 {
write!(f, [hard_line_break()])?;
@ -70,8 +70,8 @@ pub struct Literal {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for Literal {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for Literal {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let text = f.context().contents();
f.write_element(FormatElement::StaticTextSlice {

View file

@ -10,7 +10,7 @@ pub struct FormatCmpOp<'a> {
item: &'a CmpOp,
}
impl AsFormat<ASTFormatContext<'_>> for CmpOp {
impl AsFormat<ASTFormatContext> for CmpOp {
type Format<'a> = FormatCmpOp<'a>;
fn format(&self) -> Self::Format<'_> {
@ -18,7 +18,7 @@ impl AsFormat<ASTFormatContext<'_>> for CmpOp {
}
}
impl Format<ASTFormatContext<'_>> for FormatCmpOp<'_> {
impl Format<ASTFormatContext> for FormatCmpOp<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let cmp_op = self.item;
write!(f, [leading_comments(cmp_op)])?;

View file

@ -11,8 +11,8 @@ pub struct LeadingComments<'a, T> {
item: &'a Attributed<T>,
}
impl<T> Format<ASTFormatContext<'_>> for LeadingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl<T> Format<ASTFormatContext> for LeadingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
for trivia in &self.item.trivia {
if trivia.relationship.is_leading() {
match trivia.kind {
@ -40,8 +40,8 @@ pub struct TrailingComments<'a, T> {
item: &'a Attributed<T>,
}
impl<T> Format<ASTFormatContext<'_>> for TrailingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl<T> Format<ASTFormatContext> for TrailingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
for trivia in &self.item.trivia {
if trivia.relationship.is_trailing() {
match trivia.kind {
@ -69,8 +69,8 @@ pub struct EndOfLineComments<'a, T> {
item: &'a Attributed<T>,
}
impl<T> Format<ASTFormatContext<'_>> for EndOfLineComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl<T> Format<ASTFormatContext> for EndOfLineComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let mut first = true;
for range in self
.item
@ -97,8 +97,8 @@ pub struct DanglingComments<'a, T> {
item: &'a Attributed<T>,
}
impl<T> Format<ASTFormatContext<'_>> for DanglingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl<T> Format<ASTFormatContext> for DanglingComments<'_, T> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
for trivia in &self.item.trivia {
if trivia.relationship.is_dangling() {
if let TriviaKind::OwnLineComment(range) = trivia.kind {

View file

@ -9,7 +9,7 @@ pub struct FormatComprehension<'a> {
item: &'a Comprehension,
}
impl AsFormat<ASTFormatContext<'_>> for Comprehension {
impl AsFormat<ASTFormatContext> for Comprehension {
type Format<'a> = FormatComprehension<'a>;
fn format(&self) -> Self::Format<'_> {
@ -17,8 +17,8 @@ impl AsFormat<ASTFormatContext<'_>> for Comprehension {
}
}
impl Format<ASTFormatContext<'_>> for FormatComprehension<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FormatComprehension<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let comprehension = self.item;
write!(f, [soft_line_break_or_space()])?;

View file

@ -12,7 +12,7 @@ pub struct FormatExcepthandler<'a> {
item: &'a Excepthandler,
}
impl AsFormat<ASTFormatContext<'_>> for Excepthandler {
impl AsFormat<ASTFormatContext> for Excepthandler {
type Format<'a> = FormatExcepthandler<'a>;
fn format(&self) -> Self::Format<'_> {
@ -20,7 +20,7 @@ impl AsFormat<ASTFormatContext<'_>> for Excepthandler {
}
}
impl Format<ASTFormatContext<'_>> for FormatExcepthandler<'_> {
impl Format<ASTFormatContext> for FormatExcepthandler<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let excepthandler = self.item;
let ExcepthandlerKind::ExceptHandler { type_, name, body } = &excepthandler.node;

View file

@ -24,7 +24,7 @@ pub struct FormatExpr<'a> {
}
fn format_starred(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
) -> FormatResult<()> {
@ -33,18 +33,14 @@ fn format_starred(
Ok(())
}
fn format_name(
f: &mut Formatter<ASTFormatContext<'_>>,
expr: &Expr,
_id: &str,
) -> FormatResult<()> {
fn format_name(f: &mut Formatter<ASTFormatContext>, expr: &Expr, _id: &str) -> FormatResult<()> {
write!(f, [literal(expr.range())])?;
write!(f, [end_of_line_comments(expr)])?;
Ok(())
}
fn format_subscript(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
slice: &Expr,
@ -76,7 +72,7 @@ fn format_subscript(
}
fn format_tuple(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
elts: &[Expr],
) -> FormatResult<()> {
@ -97,7 +93,7 @@ fn format_tuple(
write!(
f,
[group(&format_with(
|f: &mut Formatter<ASTFormatContext<'_>>| {
|f: &mut Formatter<ASTFormatContext>| {
if expr.parentheses.is_if_expanded() {
write!(f, [if_group_breaks(&text("("))])?;
}
@ -108,7 +104,7 @@ fn format_tuple(
write!(
f,
[soft_block_indent(&format_with(
|f: &mut Formatter<ASTFormatContext<'_>>| {
|f: &mut Formatter<ASTFormatContext>| {
let magic_trailing_comma = expr
.trivia
.iter()
@ -164,7 +160,7 @@ fn format_tuple(
}
fn format_slice(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
lower: &SliceIndex,
upper: &SliceIndex,
@ -247,7 +243,7 @@ fn format_slice(
}
fn format_formatted_value(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
_conversion: usize,
@ -263,7 +259,7 @@ fn format_formatted_value(
}
fn format_list(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
elts: &[Expr],
) -> FormatResult<()> {
@ -294,11 +290,7 @@ fn format_list(
Ok(())
}
fn format_set(
f: &mut Formatter<ASTFormatContext<'_>>,
expr: &Expr,
elts: &[Expr],
) -> FormatResult<()> {
fn format_set(f: &mut Formatter<ASTFormatContext>, expr: &Expr, elts: &[Expr]) -> FormatResult<()> {
if elts.is_empty() {
write!(f, [text("set()")])?;
Ok(())
@ -333,7 +325,7 @@ fn format_set(
}
fn format_call(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
func: &Expr,
args: &[Expr],
@ -396,7 +388,7 @@ fn format_call(
}
fn format_list_comp(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
elt: &Expr,
generators: &[Comprehension],
@ -417,7 +409,7 @@ fn format_list_comp(
}
fn format_set_comp(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
elt: &Expr,
generators: &[Comprehension],
@ -438,7 +430,7 @@ fn format_set_comp(
}
fn format_dict_comp(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
key: &Expr,
value: &Expr,
@ -463,7 +455,7 @@ fn format_dict_comp(
}
fn format_generator_exp(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
elt: &Expr,
generators: &[Comprehension],
@ -482,7 +474,7 @@ fn format_generator_exp(
}
fn format_await(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
) -> FormatResult<()> {
@ -504,7 +496,7 @@ fn format_await(
}
fn format_yield(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: Option<&Expr>,
) -> FormatResult<()> {
@ -528,7 +520,7 @@ fn format_yield(
}
fn format_yield_from(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
) -> FormatResult<()> {
@ -558,7 +550,7 @@ fn format_yield_from(
}
fn format_compare(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
left: &Expr,
ops: &[CmpOp],
@ -578,7 +570,7 @@ fn format_compare(
}
fn format_joined_str(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
_values: &[Expr],
) -> FormatResult<()> {
@ -588,7 +580,7 @@ fn format_joined_str(
}
fn format_constant(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
constant: &Constant,
_kind: Option<&str>,
@ -615,7 +607,7 @@ fn format_constant(
}
fn format_dict(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
keys: &[Option<Expr>],
values: &[Expr],
@ -677,7 +669,7 @@ fn format_dict(
}
fn format_attribute(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
value: &Expr,
attr: &str,
@ -690,7 +682,7 @@ fn format_attribute(
}
fn format_named_expr(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
target: &Expr,
value: &Expr,
@ -704,7 +696,7 @@ fn format_named_expr(
}
fn format_bool_op(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
ops: &[BoolOp],
values: &[Expr],
@ -721,7 +713,7 @@ fn format_bool_op(
}
fn format_bin_op(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
left: &Expr,
op: &Operator,
@ -744,7 +736,7 @@ fn format_bin_op(
}
fn format_unary_op(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
op: &UnaryOp,
operand: &Expr,
@ -773,7 +765,7 @@ fn format_unary_op(
}
fn format_lambda(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
args: &Arguments,
body: &Expr,
@ -791,7 +783,7 @@ fn format_lambda(
}
fn format_if_exp(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
expr: &Expr,
test: &Expr,
body: &Expr,
@ -809,8 +801,8 @@ fn format_if_exp(
Ok(())
}
impl Format<ASTFormatContext<'_>> for FormatExpr<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FormatExpr<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
if self.item.parentheses.is_always() {
write!(f, [text("(")])?;
}
@ -894,7 +886,7 @@ impl Format<ASTFormatContext<'_>> for FormatExpr<'_> {
}
}
impl AsFormat<ASTFormatContext<'_>> for Expr {
impl AsFormat<ASTFormatContext> for Expr {
type Format<'a> = FormatExpr<'a>;
fn format(&self) -> Self::Format<'_> {

View file

@ -11,7 +11,7 @@ pub struct FormatKeyword<'a> {
item: &'a Keyword,
}
impl AsFormat<ASTFormatContext<'_>> for Keyword {
impl AsFormat<ASTFormatContext> for Keyword {
type Format<'a> = FormatKeyword<'a>;
fn format(&self) -> Self::Format<'_> {
@ -19,7 +19,7 @@ impl AsFormat<ASTFormatContext<'_>> for Keyword {
}
}
impl Format<ASTFormatContext<'_>> for FormatKeyword<'_> {
impl Format<ASTFormatContext> for FormatKeyword<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let keyword = self.item;

View file

@ -11,7 +11,7 @@ pub struct FormatMatchCase<'a> {
item: &'a MatchCase,
}
impl AsFormat<ASTFormatContext<'_>> for MatchCase {
impl AsFormat<ASTFormatContext> for MatchCase {
type Format<'a> = FormatMatchCase<'a>;
fn format(&self) -> Self::Format<'_> {
@ -19,7 +19,7 @@ impl AsFormat<ASTFormatContext<'_>> for MatchCase {
}
}
impl Format<ASTFormatContext<'_>> for FormatMatchCase<'_> {
impl Format<ASTFormatContext> for FormatMatchCase<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let MatchCase {
pattern,

View file

@ -12,8 +12,8 @@ struct FloatAtom {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for FloatAtom {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FloatAtom {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let contents = f.context().contents();
let content = &contents[self.range];
@ -68,8 +68,8 @@ pub struct FloatLiteral {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for FloatLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FloatLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let contents = f.context().contents();
let content = &contents[self.range];
@ -118,8 +118,8 @@ pub struct IntLiteral {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for IntLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for IntLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let contents = f.context().contents();
for prefix in ["0b", "0B", "0o", "0O", "0x", "0X"] {
@ -165,8 +165,8 @@ pub struct ComplexLiteral {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for ComplexLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for ComplexLiteral {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let contents = f.context().contents();
let content = &contents[self.range];

View file

@ -10,7 +10,7 @@ pub struct FormatOperator<'a> {
item: &'a Operator,
}
impl AsFormat<ASTFormatContext<'_>> for Operator {
impl AsFormat<ASTFormatContext> for Operator {
type Format<'a> = FormatOperator<'a>;
fn format(&self) -> Self::Format<'_> {
@ -18,8 +18,8 @@ impl AsFormat<ASTFormatContext<'_>> for Operator {
}
}
impl Format<ASTFormatContext<'_>> for FormatOperator<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FormatOperator<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let operator = self.item;
write!(f, [leading_comments(operator)])?;
write!(

View file

@ -12,7 +12,7 @@ pub struct FormatPattern<'a> {
item: &'a Pattern,
}
impl AsFormat<ASTFormatContext<'_>> for Pattern {
impl AsFormat<ASTFormatContext> for Pattern {
type Format<'a> = FormatPattern<'a>;
fn format(&self) -> Self::Format<'_> {
@ -20,7 +20,7 @@ impl AsFormat<ASTFormatContext<'_>> for Pattern {
}
}
impl Format<ASTFormatContext<'_>> for FormatPattern<'_> {
impl Format<ASTFormatContext> for FormatPattern<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let pattern = self.item;

View file

@ -14,26 +14,26 @@ use crate::format::comments::{end_of_line_comments, leading_comments, trailing_c
use crate::format::helpers::is_self_closing;
use crate::shared_traits::AsFormat;
fn format_break(f: &mut Formatter<ASTFormatContext<'_>>, stmt: &Stmt) -> FormatResult<()> {
fn format_break(f: &mut Formatter<ASTFormatContext>, stmt: &Stmt) -> FormatResult<()> {
write!(f, [text("break")])?;
write!(f, [end_of_line_comments(stmt)])?;
Ok(())
}
fn format_pass(f: &mut Formatter<ASTFormatContext<'_>>, stmt: &Stmt) -> FormatResult<()> {
fn format_pass(f: &mut Formatter<ASTFormatContext>, stmt: &Stmt) -> FormatResult<()> {
write!(f, [text("pass")])?;
write!(f, [end_of_line_comments(stmt)])?;
Ok(())
}
fn format_continue(f: &mut Formatter<ASTFormatContext<'_>>, stmt: &Stmt) -> FormatResult<()> {
fn format_continue(f: &mut Formatter<ASTFormatContext>, stmt: &Stmt) -> FormatResult<()> {
write!(f, [text("continue")])?;
write!(f, [end_of_line_comments(stmt)])?;
Ok(())
}
fn format_global(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
names: &[String],
) -> FormatResult<()> {
@ -46,7 +46,7 @@ fn format_global(
}
fn format_nonlocal(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
names: &[String],
) -> FormatResult<()> {
@ -59,7 +59,7 @@ fn format_nonlocal(
}
fn format_delete(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
targets: &[Expr],
) -> FormatResult<()> {
@ -97,7 +97,7 @@ fn format_delete(
}
fn format_class_def(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
name: &str,
bases: &[Expr],
keywords: &[Keyword],
@ -157,7 +157,7 @@ fn format_class_def(
}
fn format_func_def(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
name: &str,
args: &Arguments,
@ -204,7 +204,7 @@ fn format_func_def(
}
fn format_assign(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
targets: &[Expr],
value: &Expr,
@ -236,7 +236,7 @@ fn format_assign(
}
fn format_aug_assign(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
target: &Expr,
op: &Operator,
@ -264,7 +264,7 @@ fn format_aug_assign(
}
fn format_ann_assign(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
target: &Expr,
annotation: &Expr,
@ -301,7 +301,7 @@ fn format_ann_assign(
}
fn format_for(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
target: &Expr,
iter: &Expr,
@ -342,7 +342,7 @@ fn format_for(
}
fn format_while(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
test: &Expr,
body: &Body,
@ -383,7 +383,7 @@ fn format_while(
}
fn format_if(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
test: &Expr,
body: &Body,
orelse: Option<&Body>,
@ -449,7 +449,7 @@ fn format_if(
}
fn format_match(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
subject: &Expr,
cases: &[MatchCase],
@ -471,7 +471,7 @@ fn format_match(
}
fn format_raise(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
exc: Option<&Expr>,
cause: Option<&Expr>,
@ -487,7 +487,7 @@ fn format_raise(
}
fn format_return(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
value: Option<&Expr>,
) -> FormatResult<()> {
@ -502,7 +502,7 @@ fn format_return(
}
fn format_try(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
body: &Body,
handlers: &[Excepthandler],
@ -534,7 +534,7 @@ fn format_try(
}
fn format_try_star(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
body: &Body,
handlers: &[Excepthandler],
@ -577,7 +577,7 @@ fn format_try_star(
}
fn format_assert(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
test: &Expr,
msg: Option<&Expr>,
@ -609,7 +609,7 @@ fn format_assert(
}
fn format_import(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
names: &[Alias],
) -> FormatResult<()> {
@ -638,7 +638,7 @@ fn format_import(
}
fn format_import_from(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
module: Option<&str>,
names: &[Alias],
@ -693,11 +693,7 @@ fn format_import_from(
Ok(())
}
fn format_expr(
f: &mut Formatter<ASTFormatContext<'_>>,
stmt: &Stmt,
expr: &Expr,
) -> FormatResult<()> {
fn format_expr(f: &mut Formatter<ASTFormatContext>, stmt: &Stmt, expr: &Expr) -> FormatResult<()> {
if stmt.parentheses.is_always() {
write!(
f,
@ -726,7 +722,7 @@ fn format_expr(
}
fn format_with_(
f: &mut Formatter<ASTFormatContext<'_>>,
f: &mut Formatter<ASTFormatContext>,
stmt: &Stmt,
items: &[Withitem],
body: &Body,
@ -768,8 +764,8 @@ pub struct FormatStmt<'a> {
item: &'a Stmt,
}
impl Format<ASTFormatContext<'_>> for FormatStmt<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for FormatStmt<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
write!(f, [leading_comments(self.item)])?;
match &self.item.node {
@ -951,7 +947,7 @@ impl Format<ASTFormatContext<'_>> for FormatStmt<'_> {
}
}
impl AsFormat<ASTFormatContext<'_>> for Stmt {
impl AsFormat<ASTFormatContext> for Stmt {
type Format<'a> = FormatStmt<'a>;
fn format(&self) -> Self::Format<'_> {

View file

@ -13,8 +13,8 @@ pub struct StringLiteralPart {
range: TextRange,
}
impl Format<ASTFormatContext<'_>> for StringLiteralPart {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for StringLiteralPart {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let contents = f.context().contents();
// Extract leading and trailing quotes.
@ -119,8 +119,8 @@ pub struct StringLiteral<'a> {
expr: &'a Expr,
}
impl Format<ASTFormatContext<'_>> for StringLiteral<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext<'_>>) -> FormatResult<()> {
impl Format<ASTFormatContext> for StringLiteral<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let expr = self.expr;
// TODO(charlie): This tokenization needs to happen earlier, so that we can attach

View file

@ -9,7 +9,7 @@ pub struct FormatUnaryOp<'a> {
item: &'a UnaryOp,
}
impl AsFormat<ASTFormatContext<'_>> for UnaryOp {
impl AsFormat<ASTFormatContext> for UnaryOp {
type Format<'a> = FormatUnaryOp<'a>;
fn format(&self) -> Self::Format<'_> {
@ -17,7 +17,7 @@ impl AsFormat<ASTFormatContext<'_>> for UnaryOp {
}
}
impl Format<ASTFormatContext<'_>> for FormatUnaryOp<'_> {
impl Format<ASTFormatContext> for FormatUnaryOp<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let unary_op = self.item;
write!(

View file

@ -9,7 +9,7 @@ pub struct FormatWithitem<'a> {
item: &'a Withitem,
}
impl AsFormat<ASTFormatContext<'_>> for Withitem {
impl AsFormat<ASTFormatContext> for Withitem {
type Format<'a> = FormatWithitem<'a>;
fn format(&self) -> Self::Format<'_> {
@ -17,7 +17,7 @@ impl AsFormat<ASTFormatContext<'_>> for Withitem {
}
}
impl Format<ASTFormatContext<'_>> for FormatWithitem<'_> {
impl Format<ASTFormatContext> for FormatWithitem<'_> {
fn fmt(&self, f: &mut Formatter<ASTFormatContext>) -> FormatResult<()> {
let withitem = self.item;

View file

@ -50,7 +50,7 @@ pub fn fmt(contents: &str) -> Result<Formatted<ASTFormatContext>> {
indent_style: IndentStyle::Space(4),
line_width: 88.try_into().unwrap(),
},
locator,
locator.contents(),
),
[format::builders::statements(&python_cst)]
)