[FIR] Don't set source of inferred type from expected type

This commit is contained in:
Dmitriy Novozhilov
2022-08-26 12:14:51 +03:00
committed by teamcity
parent e1fd184d14
commit 40b13898bd
2 changed files with 4 additions and 5 deletions
@@ -64,10 +64,12 @@ object FirClassVarianceChecker : FirClassChecker() {
if (member is FirProperty && member.isVar) Variance.INVARIANT else Variance.OUT_VARIANCE
var returnSource = member.returnTypeRef.source
if (returnSource != null && memberSource != null) {
if (returnSource.kind is KtFakeSourceElementKind && memberSource.kind !is KtFakeSourceElementKind) {
if (returnSource != null) {
if (memberSource != null && returnSource.kind is KtFakeSourceElementKind && memberSource.kind !is KtFakeSourceElementKind) {
returnSource = memberSource
}
} else {
returnSource = memberSource
}
checkVarianceConflict(member.returnTypeRef, returnTypeVariance, context, reporter, returnSource)
@@ -1068,9 +1068,6 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
buildResolvedTypeRef {
type = this@toExpectedTypeRef.coneType
annotations.addAll(this@toExpectedTypeRef.annotations)
this@toExpectedTypeRef.source?.fakeElement(KtFakeSourceElementKind.PropertyFromParameter)?.let {
source = it
}
}
}
}