[FIR] Don't transform nested classes during class update because of @JvmRecord annotation

^KT-55703 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-01-11 15:00:47 +02:00
committed by Space Team
parent ad191eb179
commit 8bd3c9d019
2 changed files with 3 additions and 3 deletions
@@ -59,7 +59,7 @@ class JvmSupertypeUpdater(private val session: FirSession) : PlatformSupertypeUp
if (anyFound || !hasExplicitSuperClass) { if (anyFound || !hasExplicitSuperClass) {
firClass.replaceSuperTypeRefs(newSuperTypeRefs) firClass.replaceSuperTypeRefs(newSuperTypeRefs)
firClass.transformSingle(jvmRecordUpdater, scopeSession) firClass.transformDeclarations(jvmRecordUpdater, scopeSession)
} }
} }
@@ -73,7 +73,7 @@ class JvmSupertypeUpdater(private val session: FirSession) : PlatformSupertypeUp
} }
override fun transformRegularClass(regularClass: FirRegularClass, data: ScopeSession): FirStatement { override fun transformRegularClass(regularClass: FirRegularClass, data: ScopeSession): FirStatement {
return regularClass.transformDeclarations(this, data) return regularClass
} }
override fun transformConstructor(constructor: FirConstructor, data: ScopeSession): FirStatement { override fun transformConstructor(constructor: FirConstructor, data: ScopeSession): FirStatement {
@@ -23,7 +23,7 @@ FILE fqName:<root> fileName:/recordWithCompanion.kt
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Tag.Companion $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Tag.Companion
CONSTRUCTOR visibility:private <> () returnType:<root>.Tag.Companion [primary] CONSTRUCTOR visibility:private <> () returnType:<root>.Tag.Companion [primary]
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'protected/*protected and package*/ constructor <init> () declared in java.lang.Record' DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden: