@@ -6,7 +6,7 @@ use libcst_native::{
66 Arg , AssignEqual , AssignTargetExpression , Call , Comment , CompFor , Dict , DictComp , DictElement ,
77 Element , EmptyLine , Expression , GeneratorExp , LeftCurlyBrace , LeftParen , LeftSquareBracket ,
88 List , ListComp , Name , ParenthesizableWhitespace , ParenthesizedNode , ParenthesizedWhitespace ,
9- RightCurlyBrace , RightParen , RightSquareBracket , Set , SetComp , SimpleString , SimpleWhitespace ,
9+ RightCurlyBrace , RightParen , RightSquareBracket , SetComp , SimpleString , SimpleWhitespace ,
1010 TrailingWhitespace , Tuple ,
1111} ;
1212
@@ -145,95 +145,6 @@ pub(crate) fn fix_unnecessary_list_comprehension_dict(
145145 ) )
146146}
147147
148- /// Drop a trailing comma from a list of tuple elements.
149- fn drop_trailing_comma < ' a > (
150- tuple : & Tuple < ' a > ,
151- ) -> Result < (
152- Vec < Element < ' a > > ,
153- ParenthesizableWhitespace < ' a > ,
154- ParenthesizableWhitespace < ' a > ,
155- ) > {
156- let whitespace_after = tuple
157- . lpar
158- . first ( )
159- . ok_or_else ( || anyhow:: anyhow!( "Expected at least one set of parentheses" ) ) ?
160- . whitespace_after
161- . clone ( ) ;
162- let whitespace_before = tuple
163- . rpar
164- . first ( )
165- . ok_or_else ( || anyhow:: anyhow!( "Expected at least one set of parentheses" ) ) ?
166- . whitespace_before
167- . clone ( ) ;
168-
169- let mut elements = tuple. elements . clone ( ) ;
170- if elements. len ( ) == 1 {
171- if let Some ( Element :: Simple {
172- value,
173- comma : Some ( ..) ,
174- ..
175- } ) = elements. last ( )
176- {
177- if whitespace_before == ParenthesizableWhitespace :: default ( )
178- && whitespace_after == ParenthesizableWhitespace :: default ( )
179- {
180- elements[ 0 ] = Element :: Simple {
181- value : value. clone ( ) ,
182- comma : None ,
183- } ;
184- }
185- }
186- }
187-
188- Ok ( ( elements, whitespace_after, whitespace_before) )
189- }
190-
191- /// (C405) Convert `set((1, 2))` to `{1, 2}`.
192- pub ( crate ) fn fix_unnecessary_literal_set ( expr : & Expr , checker : & Checker ) -> Result < Edit > {
193- let locator = checker. locator ( ) ;
194- let stylist = checker. stylist ( ) ;
195-
196- // Expr(Call(List|Tuple)))) -> Expr(Set)))
197- let module_text = locator. slice ( expr) ;
198- let mut tree = match_expression ( module_text) ?;
199- let call = match_call_mut ( & mut tree) ?;
200- let arg = match_arg ( call) ?;
201-
202- let ( elements, whitespace_after, whitespace_before) = match & arg. value {
203- Expression :: Tuple ( inner) => drop_trailing_comma ( inner) ?,
204- Expression :: List ( inner) => (
205- inner. elements . clone ( ) ,
206- inner. lbracket . whitespace_after . clone ( ) ,
207- inner. rbracket . whitespace_before . clone ( ) ,
208- ) ,
209- _ => {
210- bail ! ( "Expected Expression::Tuple | Expression::List" ) ;
211- }
212- } ;
213-
214- if elements. is_empty ( ) {
215- call. args = vec ! [ ] ;
216- } else {
217- tree = Expression :: Set ( Box :: new ( Set {
218- elements,
219- lbrace : LeftCurlyBrace { whitespace_after } ,
220- rbrace : RightCurlyBrace { whitespace_before } ,
221- lpar : vec ! [ ] ,
222- rpar : vec ! [ ] ,
223- } ) ) ;
224- }
225-
226- Ok ( Edit :: range_replacement (
227- pad_expression (
228- tree. codegen_stylist ( stylist) ,
229- expr. range ( ) ,
230- checker. locator ( ) ,
231- checker. semantic ( ) ,
232- ) ,
233- expr. range ( ) ,
234- ) )
235- }
236-
237148/// (C406) Convert `dict([(1, 2)])` to `{1: 2}`.
238149pub ( crate ) fn fix_unnecessary_literal_dict ( expr : & Expr , checker : & Checker ) -> Result < Edit > {
239150 let locator = checker. locator ( ) ;
@@ -511,56 +422,6 @@ pub(crate) fn pad_end(
511422 }
512423}
513424
514- /// (C409) Convert `tuple([1, 2])` to `tuple(1, 2)`
515- pub ( crate ) fn fix_unnecessary_literal_within_tuple_call (
516- expr : & Expr ,
517- locator : & Locator ,
518- stylist : & Stylist ,
519- ) -> Result < Edit > {
520- let module_text = locator. slice ( expr) ;
521- let mut tree = match_expression ( module_text) ?;
522- let call = match_call_mut ( & mut tree) ?;
523- let arg = match_arg ( call) ?;
524- let ( elements, whitespace_after, whitespace_before) = match & arg. value {
525- Expression :: Tuple ( inner) => (
526- & inner. elements ,
527- & inner
528- . lpar
529- . first ( )
530- . ok_or_else ( || anyhow:: anyhow!( "Expected at least one set of parentheses" ) ) ?
531- . whitespace_after ,
532- & inner
533- . rpar
534- . first ( )
535- . ok_or_else ( || anyhow:: anyhow!( "Expected at least one set of parentheses" ) ) ?
536- . whitespace_before ,
537- ) ,
538- Expression :: List ( inner) => (
539- & inner. elements ,
540- & inner. lbracket . whitespace_after ,
541- & inner. rbracket . whitespace_before ,
542- ) ,
543- _ => {
544- bail ! ( "Expected Expression::Tuple | Expression::List" ) ;
545- }
546- } ;
547-
548- tree = Expression :: Tuple ( Box :: new ( Tuple {
549- elements : elements. clone ( ) ,
550- lpar : vec ! [ LeftParen {
551- whitespace_after: whitespace_after. clone( ) ,
552- } ] ,
553- rpar : vec ! [ RightParen {
554- whitespace_before: whitespace_before. clone( ) ,
555- } ] ,
556- } ) ) ;
557-
558- Ok ( Edit :: range_replacement (
559- tree. codegen_stylist ( stylist) ,
560- expr. range ( ) ,
561- ) )
562- }
563-
564425/// (C411) Convert `list([i * i for i in x])` to `[i * i for i in x]`.
565426pub ( crate ) fn fix_unnecessary_list_call (
566427 expr : & Expr ,
0 commit comments