Skip to content

Commit f1f5303

Browse files
committed
Fix build
1 parent 917e203 commit f1f5303

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55

66
allprojects {
77
group = "dev.kord.codegen"
8-
version = "1.0.1"
8+
version = "1.0.2"
99

1010
repositories {
1111
mavenCentral()

gradle/libs.versions.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ ksp-api = { group = "com.google.devtools.ksp", name = "symbol-processing-api", v
1111
kotlinpoet = { group = "com.squareup", name = "kotlinpoet-jvm", version.ref = "kotlinpoet" }
1212
kotlinpoet-ksp = { group = "com.squareup", name = "kotlinpoet-ksp", version.ref = "kotlinpoet" }
1313

14-
codegen-kotlinpoet = { group = "dev.kord.codegen", name = "kotlinpoet", version = "main-SNAPSHOT" }
15-
codegen-ksp = { group = "dev.kord.codegen", name = "ksp", version = "main-SNAPSHOT" }
16-
codegen-ksp-processor = { group = "dev.kord.codegen", name = "ksp-processor", version = "main-SNAPSHOT" }
14+
codegen-kotlinpoet = { group = "dev.kord.codegen", name = "kotlinpoet", version.ref = "codegen-kt" }
15+
codegen-ksp = { group = "dev.kord.codegen", name = "ksp", version.ref = "codegen-kt" }
16+
codegen-ksp-processor = { group = "dev.kord.codegen", name = "ksp-processor", version.ref = "codegen-kt" }
1717

1818
mockk = { group = "io.mockk", name = "mockk", version = "1.14.5" }
1919

ksp/src/main/kotlin/annotations/AnnotationArguments.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package dev.kord.codegen.ksp.annotations
22

33
import com.google.devtools.ksp.isDefault
44
import com.google.devtools.ksp.symbol.KSAnnotation
5+
import com.google.devtools.ksp.symbol.KSClassDeclaration
56
import com.google.devtools.ksp.symbol.KSType
67
import com.google.devtools.ksp.symbol.KSValueArgument
78
import kotlin.reflect.KClass
@@ -74,11 +75,20 @@ public class AnnotationArguments<A : Annotation> private constructor(
7475
parameter.value as KSType?
7576

7677
@JvmName("getEnum")
77-
public inline operator fun <reified T : Enum<T>> get(parameter: KProperty1<A, T>): T? =
78-
(parameter.value as KSType?)?.let {
79-
enumValueOf<T>(it.declaration.simpleName.asString())
78+
public inline operator fun <reified T : Enum<T>> get(parameter: KProperty1<A, T>): T? {
79+
val constant = parameter.value ?: return null
80+
81+
val name = when (constant) {
82+
// KSP V1
83+
is KSType -> constant.declaration.simpleName.asString()
84+
// KSP V2
85+
is KSClassDeclaration -> constant.simpleName.asString()
86+
else -> error("Unexpected type of $constant")
8087
}
8188

89+
return enumValueOf<T>(name)
90+
}
91+
8292
/**
8393
* Returns the value of [parameter] as a [List] of [Numbers][Number] or `null` if it is the default value
8494
* (see [NonNullAnnotationArguments] for more information).
@@ -202,7 +212,7 @@ public class AnnotationArguments<A : Annotation> private constructor(
202212

203213
@JvmName("getEnumArray")
204214
public inline operator fun <reified T : Enum<T>> get(parameter: KProperty1<A, Array<out T>>): List<T>? =
205-
delegate[parameter]!!
215+
delegate[parameter]
206216

207217
public companion object {
208218
/**

0 commit comments

Comments
 (0)