FIR2IR: make anonymous object constructor public to match K1 behavior

This commit is contained in:
Mikhail Glukhikh
2023-03-15 12:33:11 +01:00
committed by Space Team
parent e1c2dc06f1
commit 0ecfcf4380
45 changed files with 72 additions and 853 deletions
@@ -633,12 +633,13 @@ class Fir2IrDeclarationStorage(
runUnless(isLocal || !generateSignatures) {
signatureComposer.composeSignature(constructor, forceTopLevelPrivate = forceTopLevelPrivate)
}
val visibility = if (irParent.isAnonymousObject) Visibilities.Public else constructor.visibility
val created = constructor.convertWithOffsets { startOffset, endOffset ->
declareIrConstructor(signature) { symbol ->
classifierStorage.preCacheTypeParameters(constructor, symbol)
irFactory.createConstructor(
startOffset, endOffset, origin, symbol,
SpecialNames.INIT, components.visibilityConverter.convertToDescriptorVisibility(constructor.visibility),
SpecialNames.INIT, components.visibilityConverter.convertToDescriptorVisibility(visibility),
constructor.returnTypeRef.toIrType(),
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = constructor.isExpect
).apply {