FIR: save resolvePhase of declaration when creating it fake override copy

This commit is contained in:
Ilya Kirillov
2020-08-19 13:57:43 +03:00
parent b1d3ab04c2
commit 9e0bb4ce8e
3 changed files with 6 additions and 0 deletions
@@ -255,6 +255,7 @@ private fun prepareSubstitutingScopeForTypeAliasConstructors(
buildValueParameter {
source = valueParameter.source
this.session = session
resolvePhase = valueParameter.resolvePhase
origin = FirDeclarationOrigin.FakeOverride
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newParameterType)
name = valueParameter.name
@@ -72,6 +72,7 @@ abstract class AbstractFirOverrideScope(
FirSimpleFunctionBuilder().apply {
source = firSimpleFunction.source
session = firSimpleFunction.session
resolvePhase = firSimpleFunction.resolvePhase
origin = FirDeclarationOrigin.FakeOverride
returnTypeRef = firSimpleFunction.returnTypeRef
receiverTypeRef = firSimpleFunction.receiverTypeRef
@@ -84,6 +85,7 @@ abstract class AbstractFirOverrideScope(
FirValueParameterBuilder().apply {
source = parameter.source
session = parameter.session
resolvePhase = parameter.resolvePhase
origin = FirDeclarationOrigin.FakeOverride
returnTypeRef = parameter.returnTypeRef
name = parameter.name
@@ -101,6 +103,7 @@ abstract class AbstractFirOverrideScope(
FirPropertyBuilder().apply {
source = firProperty.source
session = firProperty.session
resolvePhase = firProperty.resolvePhase
origin = FirDeclarationOrigin.FakeOverride
returnTypeRef = firProperty.returnTypeRef
receiverTypeRef = firProperty.receiverTypeRef
@@ -327,6 +327,7 @@ class FirClassSubstitutionScope(
buildValueParameter {
source = valueParameter.source
this.session = session
resolvePhase = valueParameter.resolvePhase
origin = FirDeclarationOrigin.FakeOverride
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType)
name = valueParameter.name
@@ -452,6 +453,7 @@ class FirClassSubstitutionScope(
source = baseField.source
this.session = session
origin = FirDeclarationOrigin.FakeOverride
resolvePhase = baseField.resolvePhase
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
name = baseField.name
this.symbol = symbol