diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt index 4195caf89da..a210ff4a7c2 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRendererModifier import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy import org.jetbrains.kotlin.resolve.BindingContext +import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import java.lang.AssertionError import java.util.* @@ -186,7 +187,10 @@ class ClassGenerator(val declarationGenerator: DeclarationGenerator) : Generator } private fun generatePrimaryConstructor(irClass: IrClassImpl, ktClassOrObject: KtClassOrObject) { - val primaryConstructorDescriptor = irClass.descriptor.unsubstitutedPrimaryConstructor ?: return + val classDescriptor = irClass.descriptor + if (DescriptorUtils.isAnnotationClass(classDescriptor)) return + + val primaryConstructorDescriptor = classDescriptor.unsubstitutedPrimaryConstructor ?: return val irPrimaryConstructor = IrConstructorImpl(ktClassOrObject.startOffset, ktClassOrObject.endOffset, IrDeclarationOrigin.DEFINED, primaryConstructorDescriptor) diff --git a/compiler/testData/ir/irText/classes/classes.txt b/compiler/testData/ir/irText/classes/classes.txt index 6c6d012d856..495586df13e 100644 --- a/compiler/testData/ir/irText/classes/classes.txt +++ b/compiler/testData/ir/irText/classes/classes.txt @@ -11,10 +11,6 @@ FILE /classes.kt DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='TestObject' CLASS ANNOTATION_CLASS TestAnnotationClass - CONSTRUCTOR public constructor TestAnnotationClass() - BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' - INSTANCE_INITIALIZER_CALL classDescriptor='TestAnnotationClass' CLASS ENUM_CLASS TestEnumClass CONSTRUCTOR private constructor TestEnumClass() BLOCK_BODY