Skip to content

Commit 4b03fb5

Browse files
committed
Merge branch 'develop'
2 parents e44c6af + 513a4da commit 4b03fb5

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

src/main/java/org/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,15 +318,20 @@ private void flattenMember(List<Token> result, BSLParser.MemberContext member) {
318318
return;
319319
}
320320

321+
final List<Token> nestedTokens = flattenExpression(expression);
322+
if (nestedTokens.isEmpty()) {
323+
return;
324+
}
325+
321326
final BSLParser.UnaryModifierContext unaryModifier = member.unaryModifier();
322327

323328
if (unaryModifier != null && unaryModifier.NOT_KEYWORD() != null) {
324329
final CommonToken splitter = new CommonToken(-1);
325330
result.add(splitter);
326-
result.addAll(flattenExpression(expression));
331+
result.addAll(nestedTokens);
327332
result.add(splitter);
328333
} else {
329-
result.addAll(flattenExpression(expression));
334+
result.addAll(nestedTokens);
330335
}
331336
}
332337

src/test/java/org/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,6 @@ void compute() throws IOException {
6666

6767
MethodSymbol example4 = documentContext.getMethods().get(3);
6868
Integer example4Complexity = methodsComplexity.get(example4);
69-
assertThat(example4Complexity).isEqualTo(14);
69+
assertThat(example4Complexity).isEqualTo(15);
7070
}
7171
}

src/test/resources/context/computer/CognitiveComplexityComputerTest.bsl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,4 +169,6 @@
169169
(НЕ b ИЛИ НЕ c)) // +1
170170
Тогда
171171
КонецЕсли;
172+
173+
А = А И НЕ (Б) И В; // +1
172174
КонецПроцедуры

0 commit comments

Comments
 (0)