diff --git a/platform/platform-impl/src/com/intellij/workspaceModel/ide/impl/jps/serialization/IdeSerializationContext.kt b/platform/platform-impl/src/com/intellij/workspaceModel/ide/impl/jps/serialization/IdeSerializationContext.kt index 9e8766ffb80c..e52137400c13 100644 --- a/platform/platform-impl/src/com/intellij/workspaceModel/ide/impl/jps/serialization/IdeSerializationContext.kt +++ b/platform/platform-impl/src/com/intellij/workspaceModel/ide/impl/jps/serialization/IdeSerializationContext.kt @@ -18,7 +18,7 @@ abstract class BaseIdeSerializationContext : SerializationContext { get() = CUSTOM_MODULE_COMPONENT_SERIALIZER_EP.extensionList override val customModuleRootsSerializers: List get() = CUSTOM_MODULE_ROOTS_SERIALIZER_EP.extensionList - override val customFacetRelatedEntitySerializers: List> + override val customFacetRelatedEntitySerializers: List> get() = CUSTOM_FACET_RELATED_ENTITY_SERIALIZER_EP.extensionList companion object { diff --git a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/SerializationContextImpl.kt b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/SerializationContextImpl.kt index 9d494a60f0c6..1d136fc5fc45 100644 --- a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/SerializationContextImpl.kt +++ b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/SerializationContextImpl.kt @@ -24,6 +24,6 @@ internal class SerializationContextImpl( get() = emptyList() //todo override val customModuleRootsSerializers: List get() = emptyList() //todo - override val customFacetRelatedEntitySerializers: List> - get() = emptyList() //todo + override val customFacetRelatedEntitySerializers: List> + get() = listOf(DefaultFacetEntitySerializer()) //todo } diff --git a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/SerializationContext.kt b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/SerializationContext.kt index 8fe0f76bae20..2ba7940960da 100644 --- a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/SerializationContext.kt +++ b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/SerializationContext.kt @@ -26,5 +26,5 @@ interface SerializationContext { val customModuleRootsSerializers: List - val customFacetRelatedEntitySerializers: List> + val customFacetRelatedEntitySerializers: List> } \ No newline at end of file diff --git a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/impl/FacetsSerializer.kt b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/impl/FacetsSerializer.kt index 05eca74cd637..9272d975e61b 100644 --- a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/impl/FacetsSerializer.kt +++ b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/serialization/impl/FacetsSerializer.kt @@ -69,7 +69,8 @@ internal class FacetsSerializer(private val imlFileUrl: VirtualFileUrl, private .mapNotNull { entitySerializer -> val entitiesToSave = affectedEntities[entitySerializer.rootEntityType]?.filter { entitySourceFilter.invoke(it.entitySource) } ?: return@mapNotNull null - entitySerializer.createFacetStateFromEntities(entitiesToSave.map { it as ModuleSettingsFacetBridgeEntity }, externalStorage) + @Suppress("UNCHECKED_CAST") + (entitySerializer as CustomFacetRelatedEntitySerializer).createFacetStateFromEntities(entitiesToSave.map { it as ModuleSettingsFacetBridgeEntity }, externalStorage) }.flatten() if (facetStatesFromEP.isEmpty()) {