Skip to content

Commit 9190687

Browse files
committed
Add exception to indent_paren_expr to be handled by LL6 rule
1 parent 5d00903 commit 9190687

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/lint/rules/indentation.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,10 @@ pub struct IndentParenExprArgs {
377377
}
378378

379379
impl 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(),

src/lint/rules/tests/indentation/paren_expr.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
93107
static FUNCALL_NESTED_PAREN_CORRECT: &str = "
94108
method effect() {
95109
callback(another_cb(varname,

0 commit comments

Comments
 (0)