Skip to content

Commit ef81e70

Browse files
committed
refactor: исправление замечаний для конвертеров типов атрибутов
- Оптимизирован тримминг в базовом классе - Добавлена JavaDoc документация ко всем методам парсинга - Улучшена консистентность обработки ошибок - Добавлена нормализация имен типов в AttributeTypeFactory (удаление xs:/cfg: префиксов) - Добавлена валидация параметров в createStringType и createNumberType - Исправлена валидация fractionDigits для корректного диапазона [0, precision] Все тесты проходят успешно
1 parent 8abd972 commit ef81e70

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/main/java/com/github/_1c_syntax/bsl/mdo/support/AttributeTypeFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,11 @@ public static AttributeType createStringType(int length, StringQualifier.Allowed
177177
*/
178178
public static AttributeType createNumberType(int precision, int fractionDigits, NumberQualifier.AllowedSign allowedSign) {
179179
// Валидация параметров
180-
if (precision < 0) {
181-
throw new IllegalArgumentException("Number precision must be >= 0");
180+
if (precision <= 0) {
181+
throw new IllegalArgumentException("Number precision must be > 0");
182182
}
183-
if (fractionDigits < 0) {
184-
throw new IllegalArgumentException("Number fraction digits must be >= 0");
183+
if (fractionDigits < 0 || fractionDigits > precision) {
184+
throw new IllegalArgumentException("fractionDigits must be in range [0, precision]");
185185
}
186186
if (allowedSign == null) {
187187
allowedSign = NumberQualifier.AllowedSign.ANY;

0 commit comments

Comments
 (0)