File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -377,7 +377,10 @@ pub struct IndentParenExprArgs {
377377}
378378
379379impl IndentParenExprArgs {
380- fn filter_out_parenthesized_ranges ( expression_tokens : TreeElementTokenIterator ) -> Vec < ZeroRange > {
380+ pub fn is_broken_after_lparen ( lparen_range : ZeroRange , next_token_range : ZeroRange ) -> bool {
381+ lparen_range. row_start != next_token_range. row_start
382+ }
383+ pub fn filter_out_parenthesized_ranges ( expression_tokens : TreeElementTokenIterator ) -> Vec < ZeroRange > {
381384 let mut token_ranges: Vec < ZeroRange > = vec ! [ ] ;
382385 let mut paren_depth = 0 ;
383386 // paren_depth is used to identify nested
@@ -425,6 +428,11 @@ impl IndentParenExprArgs {
425428 for ( arg, _comma) in node. arguments . iter ( ) {
426429 filtered_member_ranges. append ( & mut Self :: filter_out_parenthesized_ranges ( arg. tokens ( ) ) ) ;
427430 }
431+ if filtered_member_ranges. is_empty ( )
432+ || Self :: is_broken_after_lparen ( node. lparen . range ( ) ,
433+ filtered_member_ranges. first ( ) ?. to_owned ( ) ) {
434+ return None
435+ }
428436 Some ( IndentParenExprArgs {
429437 members_ranges : filtered_member_ranges,
430438 lparen : node. lparen . range ( ) ,
Original file line number Diff line number Diff line change @@ -90,6 +90,20 @@ fn funcall_paren_incorrect() {
9090 assert_snippet ( FUNCALL_PAREN_INCORRECT , expected_errors, & rules) ;
9191}
9292
93+ static FUNCALL_BROKEN_AFTER_PAREN_EXCEPTION_CORRECT : & str = "
94+ method effect() {
95+ callback(
96+ 0xABC,
97+ identifier,
98+ false);
99+ }
100+ " ;
101+ #[ test]
102+ fn funcall_broken_after_paren_exception_correct ( ) {
103+ let rules = set_up ( ) ;
104+ assert_snippet ( FUNCALL_BROKEN_AFTER_PAREN_EXCEPTION_CORRECT , vec ! [ ] , & rules) ;
105+ }
106+
93107static FUNCALL_NESTED_PAREN_CORRECT : & str = "
94108method effect() {
95109 callback(another_cb(varname,
You can’t perform that action at this time.
0 commit comments