Skip to content

Commit 7d62393

Browse files
authored
Merge pull request #1325 from vl4ds4m/bugfix-1321
Fix a bug with missed check a closing bracket in nested expressions
2 parents eabc928 + 5b289ca commit 7d62393

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

qulice-checkstyle/src/main/java/com/qulice/checkstyle/BracketsStructureCheck.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,10 @@ private void checkLines(final DetailAST node, final int start,
102102
*/
103103
private void checkExpressionList(final DetailAST elist, final int end) {
104104
if (elist.getChildCount() > 0) {
105-
final DetailAST last = elist.getLastChild();
105+
DetailAST last = elist.getLastChild();
106+
while (last.getChildCount() > 0) {
107+
last = last.getLastChild();
108+
}
106109
final int lline = last.getLineNo();
107110
if (lline == end) {
108111
this.log(lline, "Closing bracket should be on a new line");

qulice-checkstyle/src/test/resources/com/qulice/checkstyle/ChecksTest/BracketsStructureCheck/Invalid.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,31 @@ public void main() {
4141
Invalid d1 = new Invalid(
4242
x, y);
4343
}
44+
// Check nested method call
45+
public String nest(String... lines) {
46+
nest(
47+
nest(
48+
"Good"
49+
)
50+
);
51+
nest(
52+
nest(
53+
"Bad"
54+
));
55+
nest(
56+
nest(
57+
"Good"
58+
),
59+
nest(
60+
"Bad"
61+
));
62+
nest(
63+
nest(
64+
"Good"
65+
),
66+
nest(
67+
"Good"
68+
)
69+
);
70+
}
4471
}

qulice-checkstyle/src/test/resources/com/qulice/checkstyle/ChecksTest/BracketsStructureCheck/violations.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@
1414
37:Closing bracket should be on a new line
1515
40:Closing bracket should be on a new line
1616
42:Closing bracket should be on a new line
17+
54:Closing bracket should be on a new line
18+
61:Closing bracket should be on a new line

0 commit comments

Comments
 (0)