diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DependenciesCollector.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DependenciesCollector.kt index 35dc2c23655..5567c38fe12 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DependenciesCollector.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DependenciesCollector.kt @@ -82,16 +82,25 @@ class DependenciesCollector { private fun Collection.addTopLevelDeclarations() { forEach { - addTopLevelDescriptor(getTopLevelDeclaration(it.descriptor)) + getTopLevelDeclaration(it.descriptor)?.let { addTopLevelDescriptor(it) } } } - private fun getTopLevelDeclaration(descriptor: DeclarationDescriptor): DeclarationDescriptor { + private fun getTopLevelDeclaration(descriptor: DeclarationDescriptor): DeclarationDescriptor? { val containingDeclaration = descriptor.containingDeclaration return when (containingDeclaration) { is PackageFragmentDescriptor -> descriptor is ClassDescriptor -> getTopLevelDeclaration(containingDeclaration) - else -> throw AssertionError("Package or class expected: $containingDeclaration; for $descriptor") + else -> + if (descriptor is PropertyAccessorDescriptor && + descriptor.kind == CallableMemberDescriptor.Kind.SYNTHESIZED && + containingDeclaration is ModuleDescriptor + ) { + //skip synthetic java properties + null + } else { + throw AssertionError("Package or class expected: $containingDeclaration; for $descriptor") + } } }