Skip to content

Commit 2ff8b33

Browse files
authored
refactor generateAdditionalTypes() (ExpediaGroup#620)
1 parent fccb5f1 commit 2ff8b33

File tree

1 file changed

+3
-5
lines changed
  • graphql-kotlin-schema-generator/src/main/kotlin/com/expediagroup/graphql/generator

1 file changed

+3
-5
lines changed

graphql-kotlin-schema-generator/src/main/kotlin/com/expediagroup/graphql/generator/SchemaGenerator.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,12 @@ open class SchemaGenerator(internal val config: SchemaGeneratorConfig) {
9090
* This function is recursive because while generating the additionalTypes it is possible to create additional types that need to be processed.
9191
*/
9292
protected open fun generateAdditionalTypes(): Set<GraphQLType> {
93-
val currentlyProcessedTypes = mutableSetOf<KType>()
9493
val graphqlTypes = mutableSetOf<GraphQLType>()
95-
do {
96-
currentlyProcessedTypes.addAll(this.additionalTypes)
94+
while (this.additionalTypes.isNotEmpty()) {
95+
val currentlyProcessedTypes = LinkedHashSet(this.additionalTypes)
9796
this.additionalTypes.clear()
9897
graphqlTypes.addAll(currentlyProcessedTypes.map { generateGraphQLType(this, it) })
99-
currentlyProcessedTypes.clear()
100-
} while (this.additionalTypes.isNotEmpty())
98+
}
10199

102100
return graphqlTypes.toSet()
103101
}

0 commit comments

Comments
 (0)