diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt index 5c3d89eef56..89fac9e4f7b 100644 --- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt +++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt @@ -164,9 +164,7 @@ class DescriptorSerializer private constructor( val hasConstant = compileTimeConstant != null && compileTimeConstant !is NullValue val hasAnnotations = - !descriptor.annotations.isEmpty() || - descriptor.backingField?.annotations?.isEmpty() == false || - descriptor.delegateField?.annotations?.isEmpty() == false + hasAnnotations(descriptor) || hasAnnotations(descriptor.backingField) || hasAnnotations(descriptor.delegateField) val propertyFlags = Flags.getAccessorFlags( hasAnnotations, @@ -751,8 +749,8 @@ class DescriptorSerializer private constructor( Variance.OUT_VARIANCE -> ProtoBuf.Type.Argument.Projection.OUT } - private fun hasAnnotations(descriptor: Annotated): Boolean = - descriptor.nonSourceAnnotations.isNotEmpty() + private fun hasAnnotations(descriptor: Annotated?): Boolean = + descriptor != null && descriptor.nonSourceAnnotations.isNotEmpty() fun sort(descriptors: Collection): List = ArrayList(descriptors).apply {