From 7317c15910a37472df34ff19e394ef903531b88b Mon Sep 17 00:00:00 2001 From: manu Date: Sat, 2 Mar 2024 14:48:09 +0100 Subject: [PATCH] Add super types to type hash --- .../kotlin/com/ivianuu/injekt/ksp/InjektSymbolProcessor.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ksp/src/main/kotlin/com/ivianuu/injekt/ksp/InjektSymbolProcessor.kt b/ksp/src/main/kotlin/com/ivianuu/injekt/ksp/InjektSymbolProcessor.kt index 5852bb652..4dc31a640 100644 --- a/ksp/src/main/kotlin/com/ivianuu/injekt/ksp/InjektSymbolProcessor.kt +++ b/ksp/src/main/kotlin/com/ivianuu/injekt/ksp/InjektSymbolProcessor.kt @@ -11,7 +11,7 @@ import com.ivianuu.injekt.compiler.* import org.jetbrains.kotlin.utils.addToStdlib.* import java.util.* -class InjektSymbolProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor { +@OptIn(UnsafeCastFunction::class) class InjektSymbolProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor { override fun process(resolver: Resolver): List { resolver.getSymbolsWithAnnotation(InjektFqNames.Provide.asFqNameString(), false) .filterIsInstance() @@ -72,7 +72,7 @@ class InjektSymbolProcessor(private val environment: SymbolProcessorEnvironment) private fun KSDeclaration.declarationHash(): String = buildString { modifiers.forEach { append(it) } annotations.forEach { append(it.annotationType.typeHash()) } - append(simpleName) + append(simpleName.asString()) when (this@declarationHash) { is KSClassDeclaration -> { @@ -105,6 +105,9 @@ class InjektSymbolProcessor(private val environment: SymbolProcessorEnvironment) append(argument.variance) } append(isMarkedNullable) + declaration.safeAs()?.superTypes?.forEach { + it.resolve().append() + } } resolve().append()