[FIR] Don't analyze properties twice

This commit is contained in:
Dmitriy Novozhilov
2019-12-06 12:46:27 +03:00
parent 99b0435de5
commit 583e07b3e4
@@ -87,6 +87,10 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
val returnTypeRef = property.returnTypeRef
if (returnTypeRef !is FirImplicitTypeRef && implicitTypeOnly) return@withScopeCleanup property.compose()
if (property.resolvePhase == transformerPhase) return@withScopeCleanup property.compose()
if (property.resolvePhase == FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE && transformerPhase == FirResolvePhase.BODY_RESOLVE) {
property.replaceResolvePhase(transformerPhase)
return@withScopeCleanup property.compose()
}
dataFlowAnalyzer.enterProperty(property)
if (returnTypeRef is FirImplicitTypeRef) {
property.transformReturnTypeRef(StoreType, FirComputingImplicitTypeRef)