diff --git a/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/metadata/KoinTagWriter.kt b/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/metadata/KoinTagWriter.kt index 17061378..25fcb9be 100644 --- a/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/metadata/KoinTagWriter.kt +++ b/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/metadata/KoinTagWriter.kt @@ -187,9 +187,11 @@ class KoinTagWriter( """.trimIndent()) } + // Compat with KSP1 + //TODO change for property once KSP2 private fun prepareTagLine(tagName: String, asFunction: Boolean) : String { return if (asFunction){ - "\npublic val $TAG_PREFIX$tagName : Unit = Unit" + "\npublic fun $TAG_PREFIX$tagName() : Unit = Unit" } else "\npublic class $TAG_PREFIX$tagName" } } diff --git a/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/resolver/ResolverExt.kt b/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/resolver/ResolverExt.kt index 17230226..07ed547d 100644 --- a/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/resolver/ResolverExt.kt +++ b/projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/resolver/ResolverExt.kt @@ -2,6 +2,7 @@ package org.koin.compiler.resolver import com.google.devtools.ksp.processing.Resolver import com.google.devtools.ksp.symbol.KSDeclaration +import com.google.devtools.ksp.symbol.KSFunctionDeclaration import com.google.devtools.ksp.symbol.KSPropertyDeclaration import org.koin.compiler.metadata.KoinMetaData import org.koin.compiler.metadata.TagFactory @@ -29,21 +30,23 @@ fun Resolver.tagAlreadyExists(tag : String?) : Boolean { } fun Resolver.tagPropAlreadyExists(tag : String?) : Boolean { - return getResolutionForTagProp(tag) != null + return getResolutionForTagProp(tag).any() } fun Resolver.getResolutionForTag(tag : String?) : KSDeclaration?{ return getResolutionForClass("$codeGenerationPackage.$TAG_PREFIX$tag") } -fun Resolver.getResolutionForTagProp(tag : String?) : KSPropertyDeclaration? { +fun Resolver.getResolutionForTagProp(tag : String?) : Sequence { return getResolutionForProp("$codeGenerationPackage.$TAG_PREFIX$tag") } fun Resolver.getResolutionForClass(name : String) : KSDeclaration?{ return getClassDeclarationByName(getKSNameFromString(name)) } - -fun Resolver.getResolutionForProp(name : String) : KSPropertyDeclaration? { - return getPropertyDeclarationByName(getKSNameFromString(name),true) +// Compat with KSP1 +//TODO change for property once KSP2 +// getPropertyDeclarationByName(getKSNameFromString(name),true) +fun Resolver.getResolutionForProp(name : String) : Sequence { + return getFunctionDeclarationsByName(getKSNameFromString(name),true) } \ No newline at end of file