Open EvilBeaver opened 1 month ago
Диагностика DoubleNegativesDiagnostic
была добавлена для повышения читаемости кода и предотвращения логических ошибок, выявляя избыточные отрицания в выражениях. Также обновлены классы для работы с древовидными структурами выражений и изменены тестовые файлы для проверки новых функциональностей.
Файл | Изменения |
---|---|
docs/diagnostics/DoubleNegatives.md |
Добавлен новый файл с описанием диагностического правила, касающегося двойных отрицаний в коде. |
.../AbstractExpressionTreeDiagnostic.java |
Введён метод onExpressionEnter для настройки обработки выражений. Добавлены новые классы и методы. |
.../DoubleNegativesDiagnostic.java |
Добавлен новый класс для обнаружения избыточных отрицаний в коде. |
.../IdenticalExpressionsDiagnostic.java |
Класс изменён для наследования от AbstractExpressionTreeDiagnostic . |
.../BinaryOperationNode.java |
Использованы аннотации @Getter , и поля left и right изменены на private final. |
.../BslExpression.java |
Добавлены аннотации @Setter и @ToString , убран @NoArgsConstructor , введено новое поле parent . |
.../BslOperationNode.java |
Изменён конструктор класса с добавлением нового параметра. |
.../ExpressionTreeBuildingVisitor.java |
Внесены изменения: класс стал публичным, добавлен метод buildExpressionTree , рефакторинг логики работы с приоритетами операторов. |
.../ExpressionTreeVisitor.java |
Добавлены методы для обхода различных узлов в древовидной структуре выражений. |
.../TerminalSymbolNode.java |
Изменён конструктор класса для добавления нового параметра. |
.../DoubleNegativesDiagnostic_en.properties , DoubleNegativesDiagnostic_ru.properties |
Добавлены диагностические сообщения для двойных отрицаний на английском и русском языках. |
.../DoubleNegativesDiagnosticTest.java |
Добавлен тестовый класс для проверки работы диагностики двойных отрицаний. |
.../ExpressionParseTreeRewriterTest.java , .../ExpressionTreeComparersTest.java |
Переименование ExpressionParseTreeRewriter в ExpressionTreeBuildingVisitor . |
src/test/resources/diagnostics/DoubleNegativesDiagnostic.bsl |
Новый файл с примерами выражений, включающих двойные отрицания и их результаты. |
Objective | Addressed | Explanation |
---|---|---|
Диагностика избыточных двойных отрицаний (#3271) | ✅ |
С двойным отрицанием мы попрощаемся,
Забудем сложность, простоту обретём.
Коды все наши ясней выражаются,
Дебри ошибок мы преодолём!
🐰✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Issues
3 New issues
0 Accepted issues
Measures
0 Security Hotspots
95.6% Coverage on New Code
0.0% Duplication on New Code
/rebase
Описание
Связанные задачи
Closes #3271
https://github.com/1c-syntax/bsl-language-server/issues/3271
Чеклист
Общие
gradlew precommit
)Для диагностик
Дополнительно