Skip to content

Commit 0bda0a8

Browse files
author
Samuel Vazquez
committed
feat: try is assignable from
1 parent 0e6c908 commit 0bda0a8

File tree

2 files changed

+6
-3
lines changed
  • generator/graphql-kotlin-schema-generator/src

2 files changed

+6
-3
lines changed

generator/graphql-kotlin-schema-generator/src/main/kotlin/com/expediagroup/graphql/generator/internal/extensions/kTypeExtensions.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2022 Expedia, Inc
2+
* Copyright 2025 Expedia, Inc
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ internal fun KType.getKClass() = this.jvmErasure
2828

2929
internal fun KType.getJavaClass(): Class<*> = this.getKClass().java
3030

31-
internal fun KType.isSubclassOf(kClass: KClass<*>) = this.getKClass().isSubclassOf(kClass)
31+
internal fun KType.isSubclassOf(kClass: KClass<*>) = kClass.java.isAssignableFrom(this.getJavaClass())
3232

3333
internal fun KType.isList() = this.isSubclassOf(List::class)
3434

generator/graphql-kotlin-schema-generator/src/test/kotlin/com/expediagroup/graphql/generator/internal/extensions/KTypeExtensionsKtTest.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2022 Expedia, Inc
2+
* Copyright 2025 Expedia, Inc
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -46,6 +46,8 @@ class KTypeExtensionsKtTest {
4646

4747
class SimpleClass(val id: String) : SimpleInterface
4848

49+
enum class SimpleEnum { ONE, TWO, THREE }
50+
4951
@Test
5052
fun getTypeOfFirstArgument() {
5153
assertEquals(String::class.starProjectedType, MyClass::listFun.findParameterByName("list")?.type?.getTypeOfFirstArgument())
@@ -92,6 +94,7 @@ class KTypeExtensionsKtTest {
9294
fun isSubclassOf() {
9395
assertTrue(MyClass::class.starProjectedType.isSubclassOf(MyClass::class))
9496
assertTrue(SimpleClass::class.starProjectedType.isSubclassOf(SimpleInterface::class))
97+
assertTrue(SimpleEnum::class.starProjectedType.isSubclassOf(Enum::class))
9598
assertFalse(SimpleInterface::class.starProjectedType.isSubclassOf(SimpleClass::class))
9699
assertFalse(MyClass::class.starProjectedType.isSubclassOf(SimpleInterface::class))
97100
}

0 commit comments

Comments
 (0)