Skip to content

Commit 7d9516a

Browse files
authored
Merge pull request #3895 from mk868/jspecify-idl
Specify nullness for some `graphql.schema.idl` classes
2 parents d171fc1 + 6527779 commit 7d9516a

File tree

9 files changed

+27
-6
lines changed

9 files changed

+27
-6
lines changed

src/main/java/graphql/Assert.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package graphql;
22

3+
import org.jspecify.annotations.NullMarked;
4+
35
import java.util.Collection;
46
import java.util.function.Supplier;
57
import java.util.regex.Pattern;
@@ -8,6 +10,7 @@
810

911
@SuppressWarnings("TypeParameterUnusedInFormals")
1012
@Internal
13+
@NullMarked
1114
public class Assert {
1215

1316
public static <T> T assertNotNullWithNPE(T object, Supplier<String> msg) {

src/main/java/graphql/schema/idl/FieldWiringEnvironment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
import graphql.schema.GraphQLAppliedDirective;
77
import graphql.schema.GraphQLDirective;
88
import graphql.schema.GraphQLOutputType;
9+
import org.jspecify.annotations.NullMarked;
910

1011
import java.util.List;
1112

1213
@PublicApi
14+
@NullMarked
1315
public class FieldWiringEnvironment extends WiringEnvironment {
1416

1517
private final FieldDefinition fieldDefinition;
@@ -46,4 +48,4 @@ public List<GraphQLDirective> getDirectives() {
4648
public List<GraphQLAppliedDirective> getAppliedDirectives() {
4749
return appliedDirectives;
4850
}
49-
}
51+
}

src/main/java/graphql/schema/idl/InterfaceWiringEnvironment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import graphql.PublicApi;
44
import graphql.language.InterfaceTypeDefinition;
5+
import org.jspecify.annotations.NullMarked;
56

67
@PublicApi
8+
@NullMarked
79
public class InterfaceWiringEnvironment extends WiringEnvironment {
810

911
private final InterfaceTypeDefinition interfaceTypeDefinition;
@@ -16,4 +18,4 @@ public class InterfaceWiringEnvironment extends WiringEnvironment {
1618
public InterfaceTypeDefinition getInterfaceTypeDefinition() {
1719
return interfaceTypeDefinition;
1820
}
19-
}
21+
}

src/main/java/graphql/schema/idl/ScalarInfo.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import graphql.Scalars;
77
import graphql.language.ScalarTypeDefinition;
88
import graphql.schema.GraphQLScalarType;
9+
import org.jspecify.annotations.NullMarked;
910

1011
import java.util.List;
1112
import java.util.Map;
@@ -14,6 +15,7 @@
1415
* Info on all the standard scalar objects provided by graphql-java
1516
*/
1617
@PublicApi
18+
@NullMarked
1719
public class ScalarInfo {
1820

1921
/**

src/main/java/graphql/schema/idl/ScalarWiringEnvironment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import graphql.PublicApi;
44
import graphql.language.ScalarTypeDefinition;
55
import graphql.language.ScalarTypeExtensionDefinition;
6+
import org.jspecify.annotations.NullMarked;
67

78
import java.util.List;
89

910
@PublicApi
11+
@NullMarked
1012
public class ScalarWiringEnvironment extends WiringEnvironment {
1113

1214
private final ScalarTypeDefinition scalarTypeDefinition;

src/main/java/graphql/schema/idl/SchemaParser.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import graphql.parser.ParserOptions;
1313
import graphql.schema.idl.errors.NonSDLDefinitionError;
1414
import graphql.schema.idl.errors.SchemaProblem;
15+
import org.jspecify.annotations.NullMarked;
16+
import org.jspecify.annotations.Nullable;
1517

1618
import java.io.File;
1719
import java.io.IOException;
@@ -32,6 +34,7 @@
3234
* definitions ready to be placed into {@link SchemaGenerator} say
3335
*/
3436
@PublicApi
37+
@NullMarked
3538
public class SchemaParser {
3639

3740
/**
@@ -87,7 +90,7 @@ public TypeDefinitionRegistry parse(Reader reader) throws SchemaProblem {
8790
*
8891
* @throws SchemaProblem if there are problems compiling the schema definitions
8992
*/
90-
public TypeDefinitionRegistry parse(Reader reader, ParserOptions parserOptions) throws SchemaProblem {
93+
public TypeDefinitionRegistry parse(Reader reader, @Nullable ParserOptions parserOptions) throws SchemaProblem {
9194
try (Reader input = reader) {
9295
return parseImpl(input, parserOptions);
9396
} catch (IOException e) {
@@ -113,7 +116,7 @@ public TypeDefinitionRegistry parseImpl(Reader schemaInput) {
113116
return parseImpl(schemaInput, null);
114117
}
115118

116-
private TypeDefinitionRegistry parseImpl(Reader schemaInput, ParserOptions parseOptions) {
119+
private TypeDefinitionRegistry parseImpl(Reader schemaInput, @Nullable ParserOptions parseOptions) {
117120
try {
118121
if (parseOptions == null) {
119122
parseOptions = ParserOptions.getDefaultSdlParserOptions();

src/main/java/graphql/schema/idl/TypeDefinitionRegistry.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import graphql.schema.idl.errors.SchemaRedefinitionError;
2828
import graphql.schema.idl.errors.TypeRedefinitionError;
2929
import graphql.util.FpKit;
30+
import org.jspecify.annotations.NullMarked;
31+
import org.jspecify.annotations.Nullable;
3032

3133
import java.io.Serializable;
3234
import java.util.ArrayList;
@@ -49,6 +51,7 @@
4951
*/
5052
@SuppressWarnings("rawtypes")
5153
@PublicApi
54+
@NullMarked
5255
public class TypeDefinitionRegistry implements Serializable {
5356

5457
private final Map<String, List<ObjectTypeExtensionDefinition>> objectTypeExtensions = new LinkedHashMap<>();
@@ -61,7 +64,7 @@ public class TypeDefinitionRegistry implements Serializable {
6164
private final Map<String, TypeDefinition> types = new LinkedHashMap<>();
6265
private final Map<String, ScalarTypeDefinition> scalarTypes = new LinkedHashMap<>();
6366
private final Map<String, DirectiveDefinition> directiveDefinitions = new LinkedHashMap<>();
64-
private SchemaDefinition schema;
67+
private @Nullable SchemaDefinition schema;
6568
private final List<SchemaExtensionDefinition> schemaExtensionDefinitions = new ArrayList<>();
6669
private final SchemaParseOrder schemaParseOrder = new SchemaParseOrder();
6770

src/main/java/graphql/schema/idl/UnionWiringEnvironment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import graphql.PublicApi;
44
import graphql.language.UnionTypeDefinition;
5+
import org.jspecify.annotations.NullMarked;
56

67
@PublicApi
8+
@NullMarked
79
public class UnionWiringEnvironment extends WiringEnvironment {
810

911
private final UnionTypeDefinition unionTypeDefinition;
@@ -16,4 +18,4 @@ public class UnionWiringEnvironment extends WiringEnvironment {
1618
public UnionTypeDefinition getUnionTypeDefinition() {
1719
return unionTypeDefinition;
1820
}
19-
}
21+
}

src/main/java/graphql/schema/idl/WiringEnvironment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33

44
import graphql.PublicApi;
5+
import org.jspecify.annotations.NullMarked;
56

67
@PublicApi
8+
@NullMarked
79
abstract class WiringEnvironment {
810

911
private final TypeDefinitionRegistry registry;

0 commit comments

Comments
 (0)