Remove Stmt::TryStar (#6566)

## Summary

Instead, we set an `is_star` flag on `Stmt::Try`. This is similar to the
pattern we've migrated towards for `Stmt::For` (removing
`Stmt::AsyncFor`) and friends. While these are significant differences
for an interpreter, we tend to handle these cases identically or nearly
identically.

## Test Plan

`cargo test`
This commit is contained in:
Charlie Marsh 2023-08-14 13:39:44 -04:00 committed by GitHub
parent 09c8b17661
commit 96d310fbab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 70 additions and 489 deletions

View file

@ -582,42 +582,6 @@ impl<'ast> IntoFormat<PyFormatContext<'ast>> for ast::StmtTry {
}
}
impl FormatRule<ast::StmtTryStar, PyFormatContext<'_>>
for crate::statement::stmt_try_star::FormatStmtTryStar
{
#[inline]
fn fmt(&self, node: &ast::StmtTryStar, f: &mut PyFormatter) -> FormatResult<()> {
FormatNodeRule::<ast::StmtTryStar>::fmt(self, node, f)
}
}
impl<'ast> AsFormat<PyFormatContext<'ast>> for ast::StmtTryStar {
type Format<'a> = FormatRefWithRule<
'a,
ast::StmtTryStar,
crate::statement::stmt_try_star::FormatStmtTryStar,
PyFormatContext<'ast>,
>;
fn format(&self) -> Self::Format<'_> {
FormatRefWithRule::new(
self,
crate::statement::stmt_try_star::FormatStmtTryStar::default(),
)
}
}
impl<'ast> IntoFormat<PyFormatContext<'ast>> for ast::StmtTryStar {
type Format = FormatOwnedWithRule<
ast::StmtTryStar,
crate::statement::stmt_try_star::FormatStmtTryStar,
PyFormatContext<'ast>,
>;
fn into_format(self) -> Self::Format {
FormatOwnedWithRule::new(
self,
crate::statement::stmt_try_star::FormatStmtTryStar::default(),
)
}
}
impl FormatRule<ast::StmtAssert, PyFormatContext<'_>>
for crate::statement::stmt_assert::FormatStmtAssert
{