diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f4b5da..7a7a136 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,10 @@ jobs: uses: gradle/actions/setup-gradle@v3 - name: Test - run: ./gradlew check + run: | + # Run compileCommonMainKotlinMetadata to ensure metadata compilation works too, as it's + # not covered under the normal check command + ./gradlew check compileCommonMainKotlinMetadata - name: Publish (default branch only) if: github.repository == 'slackhq/EitherNet' && github.ref == 'refs/heads/main' diff --git a/eithernet/src/commonMain/kotlin/com/slack/eithernet/KTypes.kt b/eithernet/src/commonMain/kotlin/com/slack/eithernet/KTypes.kt index 63a704d..effc801 100644 --- a/eithernet/src/commonMain/kotlin/com/slack/eithernet/KTypes.kt +++ b/eithernet/src/commonMain/kotlin/com/slack/eithernet/KTypes.kt @@ -57,7 +57,12 @@ internal expect class KTypeImpl( arguments: List<KTypeProjection>, isMarkedNullable: Boolean, annotations: List<Annotation>, -) : KType, EitherNetKType +) : KType, EitherNetKType { + override val classifier: KClassifier? + override val arguments: List<KTypeProjection> + override val isMarkedNullable: Boolean + override val annotations: List<Annotation> +} @InternalEitherNetApi public fun KType.canonicalize(): KType { diff --git a/eithernet/src/jsMain/kotlin/com/slack/eithernet/platform.js.kt b/eithernet/src/jsMain/kotlin/com/slack/eithernet/platform.js.kt index 879b182..c0930ba 100644 --- a/eithernet/src/jsMain/kotlin/com/slack/eithernet/platform.js.kt +++ b/eithernet/src/jsMain/kotlin/com/slack/eithernet/platform.js.kt @@ -28,10 +28,10 @@ internal actual val KClass<*>.qualifiedNameForComparison: String? internal actual class KTypeImpl actual constructor( - override val classifier: KClassifier?, - override val arguments: List<KTypeProjection>, - override val isMarkedNullable: Boolean, - override val annotations: List<Annotation>, + actual override val classifier: KClassifier?, + actual override val arguments: List<KTypeProjection>, + actual override val isMarkedNullable: Boolean, + actual override val annotations: List<Annotation>, ) : KType, EitherNetKType { private val impl = EitherNetKTypeImpl(classifier, arguments, isMarkedNullable, annotations) diff --git a/eithernet/src/jvmMain/kotlin/com/slack/eithernet/platform.jvm.kt b/eithernet/src/jvmMain/kotlin/com/slack/eithernet/platform.jvm.kt index 75cb31b..43c5e77 100644 --- a/eithernet/src/jvmMain/kotlin/com/slack/eithernet/platform.jvm.kt +++ b/eithernet/src/jvmMain/kotlin/com/slack/eithernet/platform.jvm.kt @@ -25,10 +25,10 @@ internal actual val KClass<*>.qualifiedNameForComparison: String? internal actual class KTypeImpl actual constructor( - override val classifier: KClassifier?, - override val arguments: List<KTypeProjection>, - override val isMarkedNullable: Boolean, - override val annotations: List<Annotation>, + actual override val classifier: KClassifier?, + actual override val arguments: List<KTypeProjection>, + actual override val isMarkedNullable: Boolean, + actual override val annotations: List<Annotation>, ) : KType, EitherNetKType { private val impl = EitherNetKTypeImpl(classifier, arguments, isMarkedNullable, annotations) diff --git a/eithernet/src/nativeMain/kotlin/com/slack/eithernet/platform.native.kt b/eithernet/src/nativeMain/kotlin/com/slack/eithernet/platform.native.kt index 75cb31b..43c5e77 100644 --- a/eithernet/src/nativeMain/kotlin/com/slack/eithernet/platform.native.kt +++ b/eithernet/src/nativeMain/kotlin/com/slack/eithernet/platform.native.kt @@ -25,10 +25,10 @@ internal actual val KClass<*>.qualifiedNameForComparison: String? internal actual class KTypeImpl actual constructor( - override val classifier: KClassifier?, - override val arguments: List<KTypeProjection>, - override val isMarkedNullable: Boolean, - override val annotations: List<Annotation>, + actual override val classifier: KClassifier?, + actual override val arguments: List<KTypeProjection>, + actual override val isMarkedNullable: Boolean, + actual override val annotations: List<Annotation>, ) : KType, EitherNetKType { private val impl = EitherNetKTypeImpl(classifier, arguments, isMarkedNullable, annotations) diff --git a/eithernet/src/wasmJsMain/kotlin/com/slack/eithernet/platform.wasmJs.kt b/eithernet/src/wasmJsMain/kotlin/com/slack/eithernet/platform.wasmJs.kt index 879b182..c0930ba 100644 --- a/eithernet/src/wasmJsMain/kotlin/com/slack/eithernet/platform.wasmJs.kt +++ b/eithernet/src/wasmJsMain/kotlin/com/slack/eithernet/platform.wasmJs.kt @@ -28,10 +28,10 @@ internal actual val KClass<*>.qualifiedNameForComparison: String? internal actual class KTypeImpl actual constructor( - override val classifier: KClassifier?, - override val arguments: List<KTypeProjection>, - override val isMarkedNullable: Boolean, - override val annotations: List<Annotation>, + actual override val classifier: KClassifier?, + actual override val arguments: List<KTypeProjection>, + actual override val isMarkedNullable: Boolean, + actual override val annotations: List<Annotation>, ) : KType, EitherNetKType { private val impl = EitherNetKTypeImpl(classifier, arguments, isMarkedNullable, annotations)