mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Force mutable collections usage as per advice from kotlin-team in order to
preserve method signatures at byte-code level The problem was that kotlinc generated method like method(Set<? extends T>) in byte-code for kotlin class' method which implements super-java interface method like method(Set<T>)
This commit is contained in:
@@ -327,7 +327,7 @@ public abstract class ComponentStoreImpl : IComponentStore {
|
||||
|
||||
protected open fun optimizeTestLoading(): Boolean = false
|
||||
|
||||
override fun isReloadPossible(componentNames: Set<String>): Boolean {
|
||||
override fun isReloadPossible(componentNames: MutableSet<String>): Boolean {
|
||||
for (componentName in componentNames) {
|
||||
val component = myComponents.get(componentName)
|
||||
if (component != null && (component !is PersistentStateComponent<*> || !StoreUtil.getStateSpec(component).reloadable)) {
|
||||
@@ -338,7 +338,7 @@ public abstract class ComponentStoreImpl : IComponentStore {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun getNotReloadableComponents(componentNames: Collection<String>): Collection<String> {
|
||||
override fun getNotReloadableComponents(componentNames: MutableCollection<String>): Collection<String> {
|
||||
var notReloadableComponents: MutableSet<String>? = null
|
||||
for (componentName in componentNames) {
|
||||
val component = myComponents.get(componentName)
|
||||
@@ -352,11 +352,11 @@ public abstract class ComponentStoreImpl : IComponentStore {
|
||||
return notReloadableComponents ?: emptySet<String>()
|
||||
}
|
||||
|
||||
override fun reinitComponents(componentNames: Set<String>, reloadData: Boolean) {
|
||||
reinitComponents(componentNames, emptySet<String>(), emptySet<StateStorage>())
|
||||
override fun reinitComponents(componentNames: MutableSet<String>, reloadData: Boolean) {
|
||||
reinitComponents(componentNames, emptySet<String>(), Collections.emptySet<StateStorage>())
|
||||
}
|
||||
|
||||
override fun reinitComponent(componentName: String, changedStorages: Set<StateStorage>): Boolean {
|
||||
override fun reinitComponent(componentName: String, changedStorages: MutableSet<StateStorage>): Boolean {
|
||||
val component = myComponents.get(componentName) as PersistentStateComponent<*>?
|
||||
if (component == null) {
|
||||
return false
|
||||
@@ -370,7 +370,7 @@ public abstract class ComponentStoreImpl : IComponentStore {
|
||||
|
||||
protected abstract fun getMessageBus(): MessageBus
|
||||
|
||||
override fun reload(changedStorages: Set<StateStorage>): Collection<String>? {
|
||||
override fun reload(changedStorages: MutableSet<StateStorage>): Collection<String>? {
|
||||
if (changedStorages.isEmpty()) {
|
||||
return emptySet()
|
||||
}
|
||||
@@ -397,7 +397,7 @@ public abstract class ComponentStoreImpl : IComponentStore {
|
||||
}
|
||||
|
||||
// used in settings repository plugin
|
||||
public fun reinitComponents(componentNames: Set<String>, notReloadableComponents: Collection<String>, changedStorages: Set<StateStorage>) {
|
||||
public fun reinitComponents(componentNames: Set<String>, notReloadableComponents: Collection<String>, changedStorages: MutableSet<StateStorage>) {
|
||||
val messageBus = getMessageBus()
|
||||
messageBus.syncPublisher(BatchUpdateListener.TOPIC).onBatchUpdateStarted()
|
||||
try {
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.configurationStore.SchemeManagerFactoryBase
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.WriteAction
|
||||
import com.intellij.openapi.application.impl.ApplicationImpl
|
||||
import com.intellij.openapi.components.StateStorage
|
||||
import com.intellij.openapi.components.impl.stores.FileBasedStorage
|
||||
import com.intellij.openapi.components.impl.stores.IComponentStore
|
||||
import com.intellij.openapi.components.impl.stores.StoreUtil
|
||||
@@ -166,7 +167,7 @@ private fun updateStoragesFromStreamProvider(store: IComponentStore, updateResul
|
||||
|
||||
notReloadableComponents = store.getNotReloadableComponents(changedComponentNames)
|
||||
|
||||
val changedStorageSet = THashSet(changed)
|
||||
val changedStorageSet = THashSet<StateStorage>(changed)
|
||||
changedStorageSet.addAll(deleted)
|
||||
(store as ComponentStoreImpl).reinitComponents(changedComponentNames, notReloadableComponents, changedStorageSet)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user