Skip to content

Commit bb0d75d

Browse files
authored
nullsafe (#560)
* первая итерация nullsafe * завершение * обновленые фикстуры-конфигурации * фикс тестов * дополнение * sq fixes * sq fixes * add tests * sq fixes * sq fixes
1 parent bc9178a commit bb0d75d

File tree

107 files changed

+18219
-13080
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+18219
-13080
lines changed

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ dependencies {
6868
// быстрый поиск классов
6969
implementation("io.github.classgraph", "classgraph", "4.8.179")
7070

71+
implementation("org.jspecify", "jspecify", "1.0.0")
72+
7173
// тестирование
7274
testImplementation("org.junit.jupiter", "junit-jupiter-api", "5.11.4")
7375
testImplementation("org.junit.jupiter", "junit-jupiter-engine", "5.11.4")

src/jmh/java/com/github/_1c_syntax/bsl/mdclasses/benchmark/MemoryProfiler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ public void beforeIteration(BenchmarkParams benchmarkParams, IterationParams ite
6363
}
6464

6565
@Override
66-
public Collection<Result> afterIteration(
66+
public Collection<? extends Result> afterIteration(
6767
BenchmarkParams benchmarkParams,
6868
IterationParams iterationParams,
6969
IterationResult result
7070
) {
71-
List<Result> results = new ArrayList<>();
71+
List<ScalarResult> results = new ArrayList<>();
7272

7373
// Память
7474
var heapUsage = memoryMXBean.getHeapMemoryUsage();

src/main/java/com/github/_1c_syntax/bsl/mdclasses/helpers/package-info.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@
2222
/**
2323
* Набор различных помощников
2424
*/
25-
@ParametersAreNonnullByDefault
26-
@ReturnValuesAreNonnullByDefault
25+
@NullMarked
2726
package com.github._1c_syntax.bsl.mdclasses.helpers;
2827

29-
import edu.umd.cs.findbugs.annotations.ReturnValuesAreNonnullByDefault;
30-
31-
import javax.annotation.ParametersAreNonnullByDefault;
28+
import org.jspecify.annotations.NullMarked;

src/main/java/com/github/_1c_syntax/bsl/mdclasses/package-info.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,11 @@
2020
* License along with MDClasses.
2121
*/
2222
/**
23-
* Данных пакет предназначен для данных контейнеров метаданных (Конфигурация, Расширение,
24-
* Внешние обработки и отчеты), и предоставления точек входа в библиотеку
25-
*/
26-
27-
@ParametersAreNonnullByDefault
28-
@ReturnValuesAreNonnullByDefault
29-
package com.github._1c_syntax.bsl.mdclasses;
30-
31-
import edu.umd.cs.findbugs.annotations.ReturnValuesAreNonnullByDefault;
32-
33-
import javax.annotation.ParametersAreNonnullByDefault;
23+
* Данных пакет предназначен для данных контейнеров метаданных (Конфигурация, Расширение,
24+
* Внешние обработки и отчеты), и предоставления точек входа в библиотеку
25+
*/
26+
27+
@NullMarked
28+
package com.github._1c_syntax.bsl.mdclasses;
29+
30+
import org.jspecify.annotations.NullMarked;

src/main/java/com/github/_1c_syntax/bsl/mdo/children/package-info.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
* Пакет содержит дочерние объекты метаданных, т.е. те, что могут существовать только в подчинении основным.
2424
* Примеры: Реквизиты, операции сервисов, формы и т.д.
2525
*/
26-
@ParametersAreNonnullByDefault
27-
@ReturnValuesAreNonnullByDefault
26+
@NullMarked
2827
package com.github._1c_syntax.bsl.mdo.children;
2928

30-
import edu.umd.cs.findbugs.annotations.ReturnValuesAreNonnullByDefault;
31-
32-
import javax.annotation.ParametersAreNonnullByDefault;
29+
import org.jspecify.annotations.NullMarked;

src/main/java/com/github/_1c_syntax/bsl/mdo/package-info.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@
2222
/**
2323
* В пакете находятся самостоятельные объекты метаданных и интерфейсы-расширения их дополнительными возможностями
2424
*/
25-
@ParametersAreNonnullByDefault
26-
@ReturnValuesAreNonnullByDefault
25+
@NullMarked
2726
package com.github._1c_syntax.bsl.mdo;
2827

29-
import edu.umd.cs.findbugs.annotations.ReturnValuesAreNonnullByDefault;
30-
31-
import javax.annotation.ParametersAreNonnullByDefault;
28+
import org.jspecify.annotations.NullMarked;

src/main/java/com/github/_1c_syntax/bsl/mdo/storage/DataCompositionSchema.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import com.github._1c_syntax.bsl.mdo.support.DataSetType;
2525
import lombok.Builder;
2626
import lombok.Getter;
27-
import lombok.NonNull;
2827
import lombok.Singular;
2928
import lombok.Value;
3029

@@ -56,7 +55,7 @@ public class DataCompositionSchema implements TemplateData {
5655
@Getter
5756
Path dataPath;
5857

59-
public DataCompositionSchema(@NonNull List<DataSet> dataSetsTree, @NonNull Path path) {
58+
public DataCompositionSchema(List<DataSet> dataSetsTree, Path path) {
6059
dataSets = dataSetsTree;
6160
dataPath = path;
6261
}
@@ -89,18 +88,18 @@ private static void fillPlainDataSetByList(List<DataSet> result, List<DataSet> i
8988
* @param fields Поля набора данных
9089
*/
9190
@Builder
92-
public record DataSet(@NonNull String name,
93-
@NonNull DataSetType type,
94-
@NonNull String dataSource,
95-
@NonNull @Singular List<DataSet> items,
96-
@NonNull QuerySource querySource,
97-
@NonNull @Singular List<DataSetField> fields) {
91+
public record DataSet(String name,
92+
DataSetType type,
93+
String dataSource,
94+
@Singular List<DataSet> items,
95+
QuerySource querySource,
96+
@Singular List<DataSetField> fields) {
9897
}
9998

10099
/**
101100
* @param dataPath Путь к данным поля
102101
* @param name Имя поля
103102
*/
104-
public record DataSetField(@NonNull String dataPath, @NonNull String name) {
103+
public record DataSetField(String dataPath, String name) {
105104
}
106105
}

src/main/java/com/github/_1c_syntax/bsl/mdo/storage/QuerySource.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@
2121
*/
2222
package com.github._1c_syntax.bsl.mdo.storage;
2323

24-
import lombok.NonNull;
25-
2624
/**
2725
* Модель хранения информации о запросе СКД
2826
*
2927
* @param line Номер строки позиции запроса в исходном файле
3028
* @param column Номер первого символа позиции запроса в исходном файле
3129
* @param textQuery Текст запроса
3230
*/
33-
public record QuerySource(int line, int column, @NonNull String textQuery) {
31+
public record QuerySource(int line, int column, String textQuery) {
3432

3533
/**
3634
* Пустой запрос

src/main/java/com/github/_1c_syntax/bsl/mdo/storage/RoleData.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import com.github._1c_syntax.bsl.types.MdoReference;
2626
import com.github._1c_syntax.utils.GenericInterner;
2727
import lombok.Builder;
28-
import lombok.NonNull;
2928
import lombok.Singular;
3029

3130
import java.util.List;
@@ -39,7 +38,7 @@
3938
*/
4039
@Builder
4140
public record RoleData(boolean setForNewObjects, boolean setForAttributesByDefault,
42-
boolean independentRightsOfChildObjects, @NonNull @Singular List<ObjectRight> objectRights) {
41+
boolean independentRightsOfChildObjects, @Singular List<ObjectRight> objectRights) {
4342

4443
public static final RoleData EMPTY = RoleData.builder().build();
4544
public static final GenericInterner<Right> RIGHT_INTERNER = new GenericInterner<>();
@@ -49,14 +48,14 @@ public record RoleData(boolean setForNewObjects, boolean setForAttributesByDefau
4948
* @param rights Набор самих прав
5049
*/
5150
@Builder
52-
public record ObjectRight(@NonNull MdoReference name, @NonNull @Singular List<Right> rights) {
51+
public record ObjectRight(MdoReference name, @Singular List<Right> rights) {
5352
}
5453

5554
/**
5655
* @param name Право
5756
* @param value Признак установленности права
5857
*/
5958
@Builder
60-
public record Right(@NonNull RoleRight name, boolean value) {
59+
public record Right(RoleRight name, boolean value) {
6160
}
6261
}

src/main/java/com/github/_1c_syntax/bsl/mdo/storage/TemplateData.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
*/
2222
package com.github._1c_syntax.bsl.mdo.storage;
2323

24-
import javax.annotation.Nullable;
24+
import org.jspecify.annotations.Nullable;
25+
2526
import java.nio.file.Path;
2627

2728
/**

0 commit comments

Comments
 (0)