@@ -18,6 +18,7 @@ import graphql.language.ObjectTypeExtensionDefinition
1818import graphql.language.ObjectValue
1919import graphql.language.StringValue
2020import graphql.language.Type
21+ import graphql.language.TypeDefinition
2122import graphql.language.TypeName
2223import graphql.language.UnionTypeDefinition
2324import graphql.language.Value
@@ -59,13 +60,15 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects) {
5960 private val customScalars = scanResult.customScalars
6061 private val rootInfo = scanResult.rootInfo
6162 private val fieldResolversByType = scanResult.fieldResolversByType
63+ private val unusedDefinitions = scanResult.unusedDefinitions
6264
6365 private val extensionDefinitions = definitions.filterIsInstance<ObjectTypeExtensionDefinition >()
64- private val objectDefinitions = (definitions.filterIsInstance<ObjectTypeDefinition >() - extensionDefinitions)
6566
67+ private val objectDefinitions = (definitions.filterIsInstance<ObjectTypeDefinition >() - extensionDefinitions)
6668 private val inputObjectDefinitions = definitions.filterIsInstance<InputObjectTypeDefinition >()
6769 private val enumDefinitions = definitions.filterIsInstance<EnumTypeDefinition >()
6870 private val interfaceDefinitions = definitions.filterIsInstance<InterfaceTypeDefinition >()
71+
6972 private val unionDefinitions = definitions.filterIsInstance<UnionTypeDefinition >()
7073
7174 private val permittedTypesForObject: Set <String > = (objectDefinitions.map { it.name } +
@@ -108,6 +111,11 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects) {
108111 */
109112 fun makeExecutableSchema (): GraphQLSchema = parseSchemaObjects().toSchema()
110113
114+ /* *
115+ * Returns any unused type definitions that were found in the schema
116+ */
117+ fun getUnusedDefinitions (): Set <TypeDefinition <* >> = unusedDefinitions
118+
111119 private fun createObject (definition : ObjectTypeDefinition , interfaces : List <GraphQLInterfaceType >): GraphQLObjectType {
112120 val name = definition.name
113121 val builder = GraphQLObjectType .newObject()
0 commit comments