[FIR] KT-56877: Allow referencing implicit receivers in class contracts
This commit is contained in:
committed by
Space Team
parent
409249267c
commit
c7a71fec17
-6
@@ -382,15 +382,9 @@ class BodyResolveContext(
|
||||
fun <T> withRegularClass(
|
||||
regularClass: FirRegularClass,
|
||||
holder: SessionHolder,
|
||||
forContracts: Boolean = false,
|
||||
f: () -> T
|
||||
): T {
|
||||
storeClassIfNotNested(regularClass, holder.session)
|
||||
if (forContracts) {
|
||||
return withTypeParametersOf(regularClass) {
|
||||
withContainerClass(regularClass, f)
|
||||
}
|
||||
}
|
||||
return withTowerDataModeCleanup {
|
||||
if (!regularClass.isInner && containerIfAny is FirRegularClass) {
|
||||
towerDataMode = if (regularClass.isCompanion) {
|
||||
|
||||
+1
-1
@@ -254,7 +254,7 @@ abstract class FirAbstractContractResolveTransformerDispatcher(
|
||||
}
|
||||
|
||||
override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): FirStatement {
|
||||
context.withRegularClass(regularClass, components, forContracts = true) {
|
||||
context.withRegularClass(regularClass, components) {
|
||||
transformDeclarationContent(regularClass, data)
|
||||
}
|
||||
return regularClass
|
||||
|
||||
Reference in New Issue
Block a user