in src/main/com/intellij/lang/jsgraphql/types/schema/idl/TypeDefinitionRegistry.java [181:226]
public void add(SDLDefinition definition) {
ProgressManager.checkCanceled();
// extensions
if (definition instanceof ObjectTypeExtensionDefinition newEntry) {
defineExt(objectTypeExtensions, newEntry, ObjectTypeExtensionDefinition::getName);
}
else if (definition instanceof InterfaceTypeExtensionDefinition newEntry) {
defineExt(interfaceTypeExtensions, newEntry, InterfaceTypeExtensionDefinition::getName);
}
else if (definition instanceof UnionTypeExtensionDefinition newEntry) {
defineExt(unionTypeExtensions, newEntry, UnionTypeExtensionDefinition::getName);
}
else if (definition instanceof EnumTypeExtensionDefinition newEntry) {
defineExt(enumTypeExtensions, newEntry, EnumTypeExtensionDefinition::getName);
}
else if (definition instanceof ScalarTypeExtensionDefinition newEntry) {
defineExt(scalarTypeExtensions, newEntry, ScalarTypeExtensionDefinition::getName);
}
else if (definition instanceof InputObjectTypeExtensionDefinition newEntry) {
defineExt(inputObjectTypeExtensions, newEntry, InputObjectTypeExtensionDefinition::getName);
}
else if (definition instanceof SchemaExtensionDefinition) {
schemaExtensionDefinitions.add((SchemaExtensionDefinition)definition);
}
else if (definition instanceof ScalarTypeDefinition newEntry) {
define(scalarTypes, scalarTypes, newEntry);
}
else if (definition instanceof TypeDefinition newEntry) {
define(types, types, newEntry);
}
else if (definition instanceof DirectiveDefinition newEntry) {
define(directiveDefinitions, directiveDefinitions, newEntry);
}
else if (definition instanceof SchemaDefinition newSchema) {
if (schema != null) {
myErrors.add(new SchemaRedefinitionError(this.schema));
}
else {
schema = newSchema;
}
}
else {
Assert.assertShouldNeverHappen();
}
}