diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt index 9cf5521b48..f45c3b6bd0 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSTypeImpl.kt @@ -62,10 +62,10 @@ class KSTypeImpl private constructor(internal val type: KtType) : KSType { } override val nullability: Nullability by lazy { - if (type.nullability == KtTypeNullability.NON_NULLABLE) { - Nullability.NOT_NULL - } else { - Nullability.NULLABLE + when { + type is KtFlexibleType && type.lowerBound.nullability != type.upperBound.nullability -> Nullability.PLATFORM + analyze { type.canBeNull } -> Nullability.NULLABLE + else -> Nullability.NOT_NULL } } diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/impl/test/KSPAATest.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/impl/test/KSPAATest.kt index 8b2268d83a..6749269e8d 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/impl/test/KSPAATest.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/impl/test/KSPAATest.kt @@ -329,7 +329,6 @@ class KSPAATest : AbstractKSPAATest() { runTest("../test-utils/testData/api/javaModifiers.kt") } - @Disabled @TestMetadata("javaNonNullTypes.kt") @Test fun testJavaNonNullTypes() {