diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSFunctionDeclarationImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSFunctionDeclarationImpl.kt index aba47f8384..2ea5eace19 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSFunctionDeclarationImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSFunctionDeclarationImpl.kt @@ -22,15 +22,9 @@ import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import com.intellij.psi.PsiClass -import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirFunctionSymbol import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass -import org.jetbrains.kotlin.fir.java.declarations.FirJavaMethod -import org.jetbrains.kotlin.fir.java.resolveIfJavaType -import org.jetbrains.kotlin.fir.resolve.getContainingClass -import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtFunction @@ -68,19 +62,7 @@ class KSFunctionDeclarationImpl private constructor(internal val ktFunctionSymbo } } - @OptIn(SymbolInternals::class) override val returnType: KSTypeReference? by lazy { - // FIXME: temporary workaround before upstream fixes java type refs. - if (origin == Origin.JAVA) { - if (ktFunctionSymbol is KtFirFunctionSymbol) { - (ktFunctionSymbol.firSymbol.fir as? FirJavaMethod)?.also { - it.returnTypeRef = it.returnTypeRef.resolveIfJavaType( - it.moduleData.session, - (it.getContainingClass(it.moduleData.session) as FirJavaClass).javaTypeParameterStack - ) - } - } - } analyze { // Constructors if (ktFunctionSymbol is KtConstructorSymbol) { diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSPropertyDeclarationJavaImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSPropertyDeclarationJavaImpl.kt index a34abf95d0..39e5690352 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSPropertyDeclarationJavaImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSPropertyDeclarationJavaImpl.kt @@ -4,13 +4,7 @@ package com.google.devtools.ksp.impl.symbol.kotlin import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirJavaFieldSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtJavaFieldSymbol -import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass -import org.jetbrains.kotlin.fir.java.declarations.FirJavaField -import org.jetbrains.kotlin.fir.java.resolveIfJavaType -import org.jetbrains.kotlin.fir.resolve.getContainingClass -import org.jetbrains.kotlin.fir.symbols.SymbolInternals class KSPropertyDeclarationJavaImpl private constructor(private val ktJavaFieldSymbol: KtJavaFieldSymbol) : KSPropertyDeclaration, @@ -29,15 +23,7 @@ class KSPropertyDeclarationJavaImpl private constructor(private val ktJavaFieldS override val extensionReceiver: KSTypeReference? get() = null - @OptIn(SymbolInternals::class) override val type: KSTypeReference by lazy { - // FIXME: temporary workaround before upstream fixes java type refs. - ((ktJavaFieldSymbol as KtFirJavaFieldSymbol).firSymbol.fir as FirJavaField).also { - it.returnTypeRef = it.returnTypeRef.resolveIfJavaType( - it.moduleData.session, - (it.getContainingClass(it.moduleData.session) as FirJavaClass).javaTypeParameterStack - ) - } KSTypeReferenceImpl.getCached(ktJavaFieldSymbol.returnType, this@KSPropertyDeclarationJavaImpl) } diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSValueParameterImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSValueParameterImpl.kt index ac9b20dc4e..6a8d361ae6 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSValueParameterImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSValueParameterImpl.kt @@ -49,7 +49,7 @@ class KSValueParameterImpl private constructor( override val type: KSTypeReference by lazy { // FIXME: temporary workaround before upstream fixes java type refs. if (origin == Origin.JAVA || origin == Origin.JAVA_LIB) { - ((ktValueParameterSymbol as KtFirValueParameterSymbol).firSymbol.fir as FirJavaValueParameter).also { + ((ktValueParameterSymbol as KtFirValueParameterSymbol).firSymbol.fir as? FirJavaValueParameter)?.let { // can't get containing class for FirJavaValueParameter, using empty stack for now. it.returnTypeRef = it.returnTypeRef.resolveIfJavaType(it.moduleData.session, JavaTypeParameterStack.EMPTY) 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 f4fd29c9cb..8b2268d83a 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 @@ -304,7 +304,6 @@ class KSPAATest : AbstractKSPAATest() { runTest("../test-utils/testData/api/implicitPropertyAccessors.kt") } - @Disabled @TestMetadata("inheritedTypeAlias.kt") @Test fun testInheritedTypeAlias() { @@ -356,7 +355,6 @@ class KSPAATest : AbstractKSPAATest() { runTest("../test-utils/testData/api/javaTypes.kt") } - @Disabled @TestMetadata("javaTypes2.kt") @Test fun testJavaTypes2() {