[Psi2Ir] Make IrEnumEntry corresponding class always privite

This commit is contained in:
Roman Artemev
2020-01-27 15:27:54 +03:00
committed by romanart
parent d51b14fe3c
commit 45f036548b
3 changed files with 9 additions and 7 deletions
@@ -75,14 +75,15 @@ class ClassGenerator(
}
}
fun generateClass(ktClassOrObject: KtPureClassOrObject): IrClass {
fun generateClass(ktClassOrObject: KtPureClassOrObject, visibility_: Visibility? = null): IrClass {
val classDescriptor = ktClassOrObject.findClassDescriptor(this.context.bindingContext)
val startOffset = ktClassOrObject.getStartOffsetOfClassDeclarationOrNull() ?: ktClassOrObject.pureStartOffset
val endOffset = ktClassOrObject.pureEndOffset
val visibility = visibility_ ?: classDescriptor.visibility
return context.symbolTable.declareClass(
startOffset, endOffset, IrDeclarationOrigin.DEFINED, classDescriptor,
getEffectiveModality(ktClassOrObject, classDescriptor)
getEffectiveModality(ktClassOrObject, classDescriptor), visibility
).buildWithScope { irClass ->
declarationGenerator.generateGlobalTypeParametersDeclarations(irClass, classDescriptor.declaredTypeParameters)
@@ -492,7 +493,7 @@ class ClassGenerator(
}
if (ktEnumEntry.hasMemberDeclarations()) {
irEnumEntry.correspondingClass = generateClass(ktEnumEntry)
irEnumEntry.correspondingClass = generateClass(ktEnumEntry, Visibilities.PRIVATE)
}
}