diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index 0f45708bcbd..355ff247dae 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -26,6 +26,8 @@ import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef +import org.jetbrains.kotlin.fir.diagnostics.ConeCannotInferParameterType +import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic import org.jetbrains.kotlin.fir.java.declarations.FirJavaField import org.jetbrains.kotlin.fir.renderer.FirRenderer import org.jetbrains.kotlin.fir.resolve.getContainingClass @@ -452,6 +454,13 @@ internal class KtSymbolByFirBuilder constructor( KtFirTypeParameterType(coneTypeParameterType, token, this@KtSymbolByFirBuilder) } + is ConeTypeVariableType -> { + val diagnostic = when ( val typeParameter = coneType.lookupTag.originalTypeParameter) { + null -> ConeSimpleDiagnostic("Cannot infer parameter type for ${coneType.lookupTag.debugName}") + else -> ConeCannotInferParameterType((typeParameter as ConeTypeParameterLookupTag).typeParameterSymbol) + } + buildKtType(ConeErrorType(diagnostic, isUninferredParameter = true, attributes = coneType.attributes)) + } else -> throwUnexpectedElementError(coneType) } }