Generate IR for annotation class constructors.

This commit is contained in:
Pavel Kunyavskiy
2021-09-14 19:09:12 +03:00
committed by Space
parent 773c82ae48
commit a40022efcd
100 changed files with 743 additions and 244 deletions
@@ -120,6 +120,8 @@ class ClassGenerator(
private fun getEffectiveModality(ktClassOrObject: KtPureClassOrObject, classDescriptor: ClassDescriptor): Modality =
when {
DescriptorUtils.isAnnotationClass(classDescriptor) ->
Modality.OPEN
!DescriptorUtils.isEnumClass(classDescriptor) ->
classDescriptor.modality
DescriptorUtils.hasAbstractMembers(classDescriptor) ->
@@ -228,7 +228,6 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
declareConstructor(ktClassOrObject, ktClassOrObject.primaryConstructor ?: ktClassOrObject, primaryConstructorDescriptor) {
if (
primaryConstructorDescriptor.isExpect ||
DescriptorUtils.isAnnotationClass(primaryConstructorDescriptor.constructedClass) ||
primaryConstructorDescriptor.constructedClass.isEffectivelyExternal()
)
null