diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt index 93ed25ddf04..e79aaf675e7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AbstractResolverForProject.kt @@ -153,6 +153,7 @@ abstract class AbstractResolverForProject( oldDescriptor.isValid = false moduleInfoByDescriptor.remove(oldDescriptor) resolverByModuleDescriptor.remove(oldDescriptor) + projectContext.project.messageBus.syncPublisher(ModuleDescriptorListener.TOPIC).moduleDescriptorInvalidated(oldDescriptor) } val moduleData = createModuleDescriptor(module) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/ModuleDescriptorListener.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/ModuleDescriptorListener.kt new file mode 100644 index 00000000000..cd8ecbfee76 --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/ModuleDescriptorListener.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analyzer + +import com.intellij.util.messages.Topic +import org.jetbrains.kotlin.descriptors.ModuleDescriptor + +interface ModuleDescriptorListener { + fun moduleDescriptorInvalidated(moduleDescriptor: ModuleDescriptor) + + companion object { + @JvmField + val TOPIC: Topic = + Topic.create("ModuleDescriptorListener", ModuleDescriptorListener::class.java) + } +} \ No newline at end of file