Fix IR declaration parents.
- Reparent declarations in FileClassLowering, InterfaceLowering, StaticDefaultFunctionsLowering, EnumClassLowering, and RenameFieldsLowering - Set correspondingPropertySymbol in MoveCompanionObjectFieldsLowering - Reparent field initializers in MoveCompanionObjectFieldsLowering and EnumClassLowering - Ensure that parents are unique in PropertiesLowering - Set declaration parent in SharedVariableManager - Set field declaration parents in CallableReferenceLowering - Set declaration parents in FunctionNVarargInvokeLowering - Set declaration parents for external declaration fields
This commit is contained in:
committed by
max-kammerer
parent
f39908b411
commit
8c06f7daae
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.common.lower
|
||||
import org.jetbrains.kotlin.backend.common.BackendContext
|
||||
import org.jetbrains.kotlin.backend.common.FileLoweringPass
|
||||
import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.backend.common.ir.copyTo
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
@@ -80,7 +81,7 @@ class PropertiesLowering(
|
||||
).apply {
|
||||
descriptor.bind(this)
|
||||
|
||||
extensionReceiverParameter = declaration.getter?.extensionReceiverParameter
|
||||
extensionReceiverParameter = declaration.getter?.extensionReceiverParameter?.copyTo(this)
|
||||
|
||||
body = IrBlockBodyImpl(-1, -1)
|
||||
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ class SharedVariablesLowering(val context: BackendContext) : FunctionLoweringPas
|
||||
if (declaration !in sharedVariables) return declaration
|
||||
|
||||
val newDeclaration = context.sharedVariablesManager.declareSharedVariable(declaration)
|
||||
newDeclaration.parent = irFunction
|
||||
newDeclaration.parent = declaration.parent
|
||||
transformedSymbols[declaration.symbol] = newDeclaration.symbol
|
||||
|
||||
return context.sharedVariablesManager.defineSharedValue(declaration, newDeclaration)
|
||||
|
||||
Reference in New Issue
Block a user