From 5d5236bbf16cf0553ef07f808881c6a26e5a28bb Mon Sep 17 00:00:00 2001 From: Liudmila Kornilova Date: Tue, 10 Mar 2026 16:44:39 +0100 Subject: [PATCH] IJPL-895 Regenerate entities in kotlin.base.scripting.k1 (review IJ-MR-195501) (cherry picked from commit 0d1c299eb229ed65adee17992bbdcf2129c6da8d) IJ-MR-195501 (cherry picked from commit db37fd378dd7e76eee3902ca8b4390282dca5273) GitOrigin-RevId: c9518c2f0e4519ed9f0d8541b2b30628857ba851 --- .../ucache/KotlinScriptEntityModifications.kt | 52 +- .../KotlinScriptLibraryEntityModifications.kt | 74 +- .../k1/ucache/impl/KotlinScriptEntityImpl.kt | 450 ++++++------ .../impl/KotlinScriptLibraryEntityImpl.kt | 582 ++++++++-------- .../k1/ucache/impl/MetadataStorageImpl.kt | 658 +++++++++++------- 5 files changed, 982 insertions(+), 834 deletions(-) diff --git a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptEntityModifications.kt b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptEntityModifications.kt index 54da417a8bf0..5bff161e3c27 100644 --- a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptEntityModifications.kt +++ b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptEntityModifications.kt @@ -3,47 +3,51 @@ package org.jetbrains.kotlin.idea.core.script.k1.ucache -import com.intellij.platform.workspace.storage.* +import com.intellij.platform.workspace.storage.EntitySource +import com.intellij.platform.workspace.storage.EntityType +import com.intellij.platform.workspace.storage.GeneratedCodeApiVersion +import com.intellij.platform.workspace.storage.MutableEntityStorage +import com.intellij.platform.workspace.storage.WorkspaceEntityBuilder import com.intellij.platform.workspace.storage.impl.containers.toMutableWorkspaceSet import org.jetbrains.kotlin.K1Deprecation @K1Deprecation @GeneratedCodeApiVersion(3) interface KotlinScriptEntityBuilder : WorkspaceEntityBuilder { - override var entitySource: EntitySource - var path: String - var dependencies: MutableSet + override var entitySource: EntitySource + var path: String + var dependencies: MutableSet } internal object KotlinScriptEntityType : EntityType() { - override val entityClass: Class get() = KotlinScriptEntity::class.java - operator fun invoke( - path: String, - dependencies: Set, - entitySource: EntitySource, - init: (KotlinScriptEntityBuilder.() -> Unit)? = null, - ): KotlinScriptEntityBuilder { - val builder = builder() - builder.path = path - builder.dependencies = dependencies.toMutableWorkspaceSet() - builder.entitySource = entitySource - init?.invoke(builder) - return builder - } + override val entityClass: Class get() = KotlinScriptEntity::class.java + operator fun invoke( + path: String, + dependencies: Set, + entitySource: EntitySource, + init: (KotlinScriptEntityBuilder.() -> Unit)? = null, + ): KotlinScriptEntityBuilder { + val builder = builder() + builder.path = path + builder.dependencies = dependencies.toMutableWorkspaceSet() + builder.entitySource = entitySource + init?.invoke(builder) + return builder + } } @K1Deprecation fun MutableEntityStorage.modifyKotlinScriptEntity( - entity: KotlinScriptEntity, - modification: KotlinScriptEntityBuilder.() -> Unit, + entity: KotlinScriptEntity, + modification: KotlinScriptEntityBuilder.() -> Unit, ): KotlinScriptEntity = modifyEntity(KotlinScriptEntityBuilder::class.java, entity, modification) @K1Deprecation @JvmOverloads @JvmName("createKotlinScriptEntity") fun KotlinScriptEntity( - path: String, - dependencies: Set, - entitySource: EntitySource, - init: (KotlinScriptEntityBuilder.() -> Unit)? = null, + path: String, + dependencies: Set, + entitySource: EntitySource, + init: (KotlinScriptEntityBuilder.() -> Unit)? = null, ): KotlinScriptEntityBuilder = KotlinScriptEntityType(path, dependencies, entitySource, init) diff --git a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptLibraryEntityModifications.kt b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptLibraryEntityModifications.kt index 4ab02f168f1e..8fdad71b8d49 100644 --- a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptLibraryEntityModifications.kt +++ b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/KotlinScriptLibraryEntityModifications.kt @@ -3,7 +3,11 @@ package org.jetbrains.kotlin.idea.core.script.k1.ucache -import com.intellij.platform.workspace.storage.* +import com.intellij.platform.workspace.storage.EntitySource +import com.intellij.platform.workspace.storage.EntityType +import com.intellij.platform.workspace.storage.GeneratedCodeApiVersion +import com.intellij.platform.workspace.storage.MutableEntityStorage +import com.intellij.platform.workspace.storage.WorkspaceEntityBuilder import com.intellij.platform.workspace.storage.impl.containers.toMutableWorkspaceList import com.intellij.platform.workspace.storage.impl.containers.toMutableWorkspaceSet import org.jetbrains.kotlin.K1Deprecation @@ -11,48 +15,50 @@ import org.jetbrains.kotlin.K1Deprecation @K1Deprecation @GeneratedCodeApiVersion(3) interface KotlinScriptLibraryEntityBuilder : WorkspaceEntityBuilder { - override var entitySource: EntitySource - var name: String - var roots: MutableList - var indexSourceRoots: Boolean - var usedInScripts: MutableSet + override var entitySource: EntitySource + var name: String + var roots: MutableList + var indexSourceRoots: Boolean + var usedInScripts: MutableSet } -internal object KotlinScriptLibraryEntityType : EntityType() { - override val entityClass: Class get() = KotlinScriptLibraryEntity::class.java - operator fun invoke( - name: String, - roots: List, - indexSourceRoots: Boolean, - usedInScripts: Set, - entitySource: EntitySource, - init: (KotlinScriptLibraryEntityBuilder.() -> Unit)? = null, - ): KotlinScriptLibraryEntityBuilder { - val builder = builder() - builder.name = name - builder.roots = roots.toMutableWorkspaceList() - builder.indexSourceRoots = indexSourceRoots - builder.usedInScripts = usedInScripts.toMutableWorkspaceSet() - builder.entitySource = entitySource - init?.invoke(builder) - return builder - } +internal object KotlinScriptLibraryEntityType : + EntityType() { + override val entityClass: Class get() = KotlinScriptLibraryEntity::class.java + operator fun invoke( + name: String, + roots: List, + indexSourceRoots: Boolean, + usedInScripts: Set, + entitySource: EntitySource, + init: (KotlinScriptLibraryEntityBuilder.() -> Unit)? = null, + ): KotlinScriptLibraryEntityBuilder { + val builder = builder() + builder.name = name + builder.roots = roots.toMutableWorkspaceList() + builder.indexSourceRoots = indexSourceRoots + builder.usedInScripts = usedInScripts.toMutableWorkspaceSet() + builder.entitySource = entitySource + init?.invoke(builder) + return builder + } } @K1Deprecation fun MutableEntityStorage.modifyKotlinScriptLibraryEntity( - entity: KotlinScriptLibraryEntity, - modification: KotlinScriptLibraryEntityBuilder.() -> Unit, + entity: KotlinScriptLibraryEntity, + modification: KotlinScriptLibraryEntityBuilder.() -> Unit, ): KotlinScriptLibraryEntity = modifyEntity(KotlinScriptLibraryEntityBuilder::class.java, entity, modification) @K1Deprecation @JvmOverloads @JvmName("createKotlinScriptLibraryEntity") fun KotlinScriptLibraryEntity( - name: String, - roots: List, - indexSourceRoots: Boolean, - usedInScripts: Set, - entitySource: EntitySource, - init: (KotlinScriptLibraryEntityBuilder.() -> Unit)? = null, -): KotlinScriptLibraryEntityBuilder = KotlinScriptLibraryEntityType(name, roots, indexSourceRoots, usedInScripts, entitySource, init) + name: String, + roots: List, + indexSourceRoots: Boolean, + usedInScripts: Set, + entitySource: EntitySource, + init: (KotlinScriptLibraryEntityBuilder.() -> Unit)? = null, +): KotlinScriptLibraryEntityBuilder = + KotlinScriptLibraryEntityType(name, roots, indexSourceRoots, usedInScripts, entitySource, init) diff --git a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptEntityImpl.kt b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptEntityImpl.kt index 2f5a0622fcd8..6c6e7d9184d2 100644 --- a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptEntityImpl.kt +++ b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptEntityImpl.kt @@ -1,7 +1,15 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.kotlin.idea.core.script.k1.ucache.impl -import com.intellij.platform.workspace.storage.* +import com.intellij.platform.workspace.storage.ConnectionId +import com.intellij.platform.workspace.storage.EntitySource +import com.intellij.platform.workspace.storage.GeneratedCodeApiVersion +import com.intellij.platform.workspace.storage.GeneratedCodeImplVersion +import com.intellij.platform.workspace.storage.MutableEntityStorage +import com.intellij.platform.workspace.storage.SymbolicEntityId +import com.intellij.platform.workspace.storage.WorkspaceEntity +import com.intellij.platform.workspace.storage.WorkspaceEntityBuilder +import com.intellij.platform.workspace.storage.WorkspaceEntityInternalApi import com.intellij.platform.workspace.storage.impl.ModifiableWorkspaceEntityBase import com.intellij.platform.workspace.storage.impl.SoftLinkable import com.intellij.platform.workspace.storage.impl.WorkspaceEntityBase @@ -21,270 +29,266 @@ import org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId @GeneratedCodeImplVersion(7) @OptIn(WorkspaceEntityInternalApi::class) internal class KotlinScriptEntityImpl(private val dataSource: KotlinScriptEntityData) : KotlinScriptEntity, - WorkspaceEntityBase(dataSource) { + WorkspaceEntityBase(dataSource) { - private companion object { + private companion object { - private val connections = listOf() + private val connections = listOf() - } - - override val symbolicId: KotlinScriptId = super.symbolicId - - override val path: String - get() { - readField("path") - return dataSource.path - } - override val dependencies: Set - get() { - readField("dependencies") - return dataSource.dependencies } - override val entitySource: EntitySource - get() { - readField("entitySource") - return dataSource.entitySource - } + override val symbolicId: KotlinScriptId = super.symbolicId - override fun connectionIdList(): List { - return connections - } - - - internal class Builder(result: KotlinScriptEntityData?) : - ModifiableWorkspaceEntityBase(result), KotlinScriptEntityBuilder { - internal constructor() : this(KotlinScriptEntityData()) - - override fun applyToBuilder(builder: MutableEntityStorage) { - if (this.diff != null) { - if (existsInBuilder(builder)) { - this.diff = builder - return + override val path: String + get() { + readField("path") + return dataSource.path } - else { - error("Entity KotlinScriptEntity is already created in a different builder") + override val dependencies: Set + get() { + readField("dependencies") + return dataSource.dependencies } - } - this.diff = builder - addToBuilder() - this.id = getEntityData().createEntityId() -// After adding entity data to the builder, we need to unbind it and move the control over entity data to builder -// Builder may switch to snapshot at any moment and lock entity data to modification - this.currentEntityData = null -// Process linked entities that are connected without a builder - processLinkedEntities(builder) - checkInitialization() // TODO uncomment and check failed tests - } - private fun checkInitialization() { - val _diff = diff - if (!getEntityData().isEntitySourceInitialized()) { - error("Field WorkspaceEntity#entitySource should be initialized") - } - if (!getEntityData().isPathInitialized()) { - error("Field KotlinScriptEntity#path should be initialized") - } - if (!getEntityData().isDependenciesInitialized()) { - error("Field KotlinScriptEntity#dependencies should be initialized") - } - } + override val entitySource: EntitySource + get() { + readField("entitySource") + return dataSource.entitySource + } override fun connectionIdList(): List { - return connections - } - - override fun afterModification() { - val collection_dependencies = getEntityData().dependencies - if (collection_dependencies is MutableWorkspaceSet<*>) { - collection_dependencies.cleanModificationUpdateAction() - } - } - - // Relabeling code, move information from dataSource to this builder - override fun relabel(dataSource: WorkspaceEntity, parents: Set?) { - dataSource as KotlinScriptEntity - if (this.entitySource != dataSource.entitySource) this.entitySource = dataSource.entitySource - if (this.path != dataSource.path) this.path = dataSource.path - if (this.dependencies != dataSource.dependencies) this.dependencies = dataSource.dependencies.toMutableSet() - updateChildToParentReferences(parents) + return connections } - override var entitySource: EntitySource - get() = getEntityData().entitySource - set(value) { - checkModificationAllowed() - getEntityData(true).entitySource = value - changedProperty.add("entitySource") + internal class Builder(result: KotlinScriptEntityData?) : + ModifiableWorkspaceEntityBase(result), KotlinScriptEntityBuilder { + internal constructor() : this(KotlinScriptEntityData()) - } - override var path: String - get() = getEntityData().path - set(value) { - checkModificationAllowed() - getEntityData(true).path = value - changedProperty.add("path") - } - private val dependenciesUpdater: (value: Set) -> Unit = { value -> - - changedProperty.add("dependencies") - } - override var dependencies: MutableSet - get() { - val collection_dependencies = getEntityData().dependencies - if (collection_dependencies !is MutableWorkspaceSet) return collection_dependencies - if (diff == null || modifiable.get()) { - collection_dependencies.setModificationUpdateAction(dependenciesUpdater) + override fun applyToBuilder(builder: MutableEntityStorage) { + if (this.diff != null) { + if (existsInBuilder(builder)) { + this.diff = builder + return + } else { + error("Entity KotlinScriptEntity is already created in a different builder") + } + } + this.diff = builder + addToBuilder() + this.id = getEntityData().createEntityId() +// After adding entity data to the builder, we need to unbind it and move the control over entity data to builder +// Builder may switch to snapshot at any moment and lock entity data to modification + this.currentEntityData = null +// Process linked entities that are connected without a builder + processLinkedEntities(builder) + checkInitialization() // TODO uncomment and check failed tests } - else { - collection_dependencies.cleanModificationUpdateAction() - } - return collection_dependencies - } - set(value) { - checkModificationAllowed() - getEntityData(true).dependencies = value - dependenciesUpdater.invoke(value) - } - override fun getEntityClass(): Class = KotlinScriptEntity::class.java - } + private fun checkInitialization() { + val _diff = diff + if (!getEntityData().isEntitySourceInitialized()) { + error("Field WorkspaceEntity#entitySource should be initialized") + } + if (!getEntityData().isPathInitialized()) { + error("Field KotlinScriptEntity#path should be initialized") + } + if (!getEntityData().isDependenciesInitialized()) { + error("Field KotlinScriptEntity#dependencies should be initialized") + } + } + + override fun connectionIdList(): List { + return connections + } + + override fun afterModification() { + val collection_dependencies = getEntityData().dependencies + if (collection_dependencies is MutableWorkspaceSet<*>) { + collection_dependencies.cleanModificationUpdateAction() + } + } + + // Relabeling code, move information from dataSource to this builder + override fun relabel(dataSource: WorkspaceEntity, parents: Set?) { + dataSource as KotlinScriptEntity + if (this.entitySource != dataSource.entitySource) this.entitySource = dataSource.entitySource + if (this.path != dataSource.path) this.path = dataSource.path + if (this.dependencies != dataSource.dependencies) this.dependencies = dataSource.dependencies.toMutableSet() + updateChildToParentReferences(parents) + } + + + override var entitySource: EntitySource + get() = getEntityData().entitySource + set(value) { + checkModificationAllowed() + getEntityData(true).entitySource = value + changedProperty.add("entitySource") + + } + override var path: String + get() = getEntityData().path + set(value) { + checkModificationAllowed() + getEntityData(true).path = value + changedProperty.add("path") + } + private val dependenciesUpdater: (value: Set) -> Unit = { value -> + + changedProperty.add("dependencies") + } + override var dependencies: MutableSet + get() { + val collection_dependencies = getEntityData().dependencies + if (collection_dependencies !is MutableWorkspaceSet) return collection_dependencies + if (diff == null || modifiable.get()) { + collection_dependencies.setModificationUpdateAction(dependenciesUpdater) + } else { + collection_dependencies.cleanModificationUpdateAction() + } + return collection_dependencies + } + set(value) { + checkModificationAllowed() + getEntityData(true).dependencies = value + dependenciesUpdater.invoke(value) + } + + override fun getEntityClass(): Class = KotlinScriptEntity::class.java + } } @OptIn(WorkspaceEntityInternalApi::class) internal class KotlinScriptEntityData : WorkspaceEntityData(), SoftLinkable { - lateinit var path: String - lateinit var dependencies: MutableSet + lateinit var path: String + lateinit var dependencies: MutableSet - internal fun isPathInitialized(): Boolean = ::path.isInitialized - internal fun isDependenciesInitialized(): Boolean = ::dependencies.isInitialized + internal fun isPathInitialized(): Boolean = ::path.isInitialized + internal fun isDependenciesInitialized(): Boolean = ::dependencies.isInitialized - override fun getLinks(): Set> { - val result = HashSet>() - for (item in dependencies) { - result.add(item) + override fun getLinks(): Set> { + val result = HashSet>() + for (item in dependencies) { + result.add(item) + } + return result } - return result - } - override fun index(index: WorkspaceMutableIndex>) { - for (item in dependencies) { - index.index(this, item) + override fun index(index: WorkspaceMutableIndex>) { + for (item in dependencies) { + index.index(this, item) + } } - } - override fun updateLinksIndex(prev: Set>, index: WorkspaceMutableIndex>) { + override fun updateLinksIndex(prev: Set>, index: WorkspaceMutableIndex>) { // TODO verify logic - val mutablePreviousSet = HashSet(prev) - for (item in dependencies) { - val removedItem_item = mutablePreviousSet.remove(item) - if (!removedItem_item) { - index.index(this, item) - } + val mutablePreviousSet = HashSet(prev) + for (item in dependencies) { + val removedItem_item = mutablePreviousSet.remove(item) + if (!removedItem_item) { + index.index(this, item) + } + } + for (removed in mutablePreviousSet) { + index.remove(this, removed) + } } - for (removed in mutablePreviousSet) { - index.remove(this, removed) + + override fun updateLink(oldLink: SymbolicEntityId<*>, newLink: SymbolicEntityId<*>): Boolean { + var changed = false + val dependencies_data = dependencies.map { + val it_data = if (it == oldLink) { + changed = true + newLink as KotlinScriptLibraryId + } else { + null + } + if (it_data != null) { + it_data + } else { + it + } + } + if (dependencies_data != null) { + dependencies = dependencies_data as MutableSet + } + return changed } - } - override fun updateLink(oldLink: SymbolicEntityId<*>, newLink: SymbolicEntityId<*>): Boolean { - var changed = false - val dependencies_data = dependencies.map { - val it_data = if (it == oldLink) { - changed = true - newLink as KotlinScriptLibraryId - } - else { - null - } - if (it_data != null) { - it_data - } - else { - it - } + override fun wrapAsModifiable(diff: MutableEntityStorage): WorkspaceEntityBuilder { + val modifiable = KotlinScriptEntityImpl.Builder(null) + modifiable.diff = diff + modifiable.id = createEntityId() + return modifiable } - if (dependencies_data != null) { - dependencies = dependencies_data as MutableSet + + @OptIn(EntityStorageInstrumentationApi::class) + override fun createEntity(snapshot: EntityStorageInstrumentation): KotlinScriptEntity { + val entityId = createEntityId() + return snapshot.initializeEntity(entityId) { + val entity = KotlinScriptEntityImpl(this) + entity.snapshot = snapshot + entity.id = entityId + entity + } } - return changed - } - override fun wrapAsModifiable(diff: MutableEntityStorage): WorkspaceEntityBuilder { - val modifiable = KotlinScriptEntityImpl.Builder(null) - modifiable.diff = diff - modifiable.id = createEntityId() - return modifiable - } - - @OptIn(EntityStorageInstrumentationApi::class) - override fun createEntity(snapshot: EntityStorageInstrumentation): KotlinScriptEntity { - val entityId = createEntityId() - return snapshot.initializeEntity(entityId) { - val entity = KotlinScriptEntityImpl(this) - entity.snapshot = snapshot - entity.id = entityId - entity + override fun getMetadata(): EntityMetadata { + return MetadataStorageImpl.getMetadataByTypeFqn("org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity") as EntityMetadata } - } - override fun getMetadata(): EntityMetadata { - return MetadataStorageImpl.getMetadataByTypeFqn("org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity") as EntityMetadata - } + override fun clone(): KotlinScriptEntityData { + val clonedEntity = super.clone() + clonedEntity as KotlinScriptEntityData + clonedEntity.dependencies = clonedEntity.dependencies.toMutableWorkspaceSet() + return clonedEntity + } - override fun clone(): KotlinScriptEntityData { - val clonedEntity = super.clone() - clonedEntity as KotlinScriptEntityData - clonedEntity.dependencies = clonedEntity.dependencies.toMutableWorkspaceSet() - return clonedEntity - } + override fun getEntityInterface(): Class { + return KotlinScriptEntity::class.java + } - override fun getEntityInterface(): Class { - return KotlinScriptEntity::class.java - } + override fun createDetachedEntity(parents: List>): WorkspaceEntityBuilder<*> { + return KotlinScriptEntity(path, dependencies, entitySource) + } - override fun createDetachedEntity(parents: List>): WorkspaceEntityBuilder<*> { - return KotlinScriptEntity(path, dependencies, entitySource) - } + override fun getRequiredParents(): List> { + val res = mutableListOf>() + return res + } - override fun getRequiredParents(): List> { - val res = mutableListOf>() - return res - } + override fun equals(other: Any?): Boolean { + if (other == null) return false + if (this.javaClass != other.javaClass) return false + other as KotlinScriptEntityData + if (this.entitySource != other.entitySource) return false + if (this.path != other.path) return false + if (this.dependencies != other.dependencies) return false + return true + } - override fun equals(other: Any?): Boolean { - if (other == null) return false - if (this.javaClass != other.javaClass) return false - other as KotlinScriptEntityData - if (this.entitySource != other.entitySource) return false - if (this.path != other.path) return false - if (this.dependencies != other.dependencies) return false - return true - } + override fun equalsIgnoringEntitySource(other: Any?): Boolean { + if (other == null) return false + if (this.javaClass != other.javaClass) return false + other as KotlinScriptEntityData + if (this.path != other.path) return false + if (this.dependencies != other.dependencies) return false + return true + } - override fun equalsIgnoringEntitySource(other: Any?): Boolean { - if (other == null) return false - if (this.javaClass != other.javaClass) return false - other as KotlinScriptEntityData - if (this.path != other.path) return false - if (this.dependencies != other.dependencies) return false - return true - } + override fun hashCode(): Int { + var result = entitySource.hashCode() + result = 31 * result + path.hashCode() + result = 31 * result + dependencies.hashCode() + return result + } - override fun hashCode(): Int { - var result = entitySource.hashCode() - result = 31 * result + path.hashCode() - result = 31 * result + dependencies.hashCode() - return result - } - - override fun hashCodeIgnoringEntitySource(): Int { - var result = javaClass.hashCode() - result = 31 * result + path.hashCode() - result = 31 * result + dependencies.hashCode() - return result - } + override fun hashCodeIgnoringEntitySource(): Int { + var result = javaClass.hashCode() + result = 31 * result + path.hashCode() + result = 31 * result + dependencies.hashCode() + return result + } } diff --git a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptLibraryEntityImpl.kt b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptLibraryEntityImpl.kt index 1306922e1505..93b1cdbf1200 100644 --- a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptLibraryEntityImpl.kt +++ b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/KotlinScriptLibraryEntityImpl.kt @@ -1,7 +1,15 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.kotlin.idea.core.script.k1.ucache.impl -import com.intellij.platform.workspace.storage.* +import com.intellij.platform.workspace.storage.ConnectionId +import com.intellij.platform.workspace.storage.EntitySource +import com.intellij.platform.workspace.storage.GeneratedCodeApiVersion +import com.intellij.platform.workspace.storage.GeneratedCodeImplVersion +import com.intellij.platform.workspace.storage.MutableEntityStorage +import com.intellij.platform.workspace.storage.SymbolicEntityId +import com.intellij.platform.workspace.storage.WorkspaceEntity +import com.intellij.platform.workspace.storage.WorkspaceEntityBuilder +import com.intellij.platform.workspace.storage.WorkspaceEntityInternalApi import com.intellij.platform.workspace.storage.impl.ModifiableWorkspaceEntityBase import com.intellij.platform.workspace.storage.impl.SoftLinkable import com.intellij.platform.workspace.storage.impl.WorkspaceEntityBase @@ -23,337 +31,335 @@ import org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRoot @GeneratedCodeApiVersion(3) @GeneratedCodeImplVersion(7) @OptIn(WorkspaceEntityInternalApi::class) -internal class KotlinScriptLibraryEntityImpl(private val dataSource: KotlinScriptLibraryEntityData) : KotlinScriptLibraryEntity, - WorkspaceEntityBase(dataSource) { +internal class KotlinScriptLibraryEntityImpl(private val dataSource: KotlinScriptLibraryEntityData) : + KotlinScriptLibraryEntity, WorkspaceEntityBase(dataSource) { - private companion object { + private companion object { - private val connections = listOf() + private val connections = listOf() - } - - override val symbolicId: KotlinScriptLibraryId = super.symbolicId - - override val name: String - get() { - readField("name") - return dataSource.name - } - override val roots: List - get() { - readField("roots") - return dataSource.roots - } - override val indexSourceRoots: Boolean - get() { - readField("indexSourceRoots") - return dataSource.indexSourceRoots - } - override val usedInScripts: Set - get() { - readField("usedInScripts") - return dataSource.usedInScripts } - override val entitySource: EntitySource - get() { - readField("entitySource") - return dataSource.entitySource - } + override val symbolicId: KotlinScriptLibraryId = super.symbolicId - override fun connectionIdList(): List { - return connections - } - - - internal class Builder(result: KotlinScriptLibraryEntityData?) : - ModifiableWorkspaceEntityBase(result), KotlinScriptLibraryEntityBuilder { - internal constructor() : this(KotlinScriptLibraryEntityData()) - - override fun applyToBuilder(builder: MutableEntityStorage) { - if (this.diff != null) { - if (existsInBuilder(builder)) { - this.diff = builder - return + override val name: String + get() { + readField("name") + return dataSource.name } - else { - error("Entity KotlinScriptLibraryEntity is already created in a different builder") + override val roots: List + get() { + readField("roots") + return dataSource.roots + } + override val indexSourceRoots: Boolean + get() { + readField("indexSourceRoots") + return dataSource.indexSourceRoots + } + override val usedInScripts: Set + get() { + readField("usedInScripts") + return dataSource.usedInScripts } - } - this.diff = builder - addToBuilder() - this.id = getEntityData().createEntityId() -// After adding entity data to the builder, we need to unbind it and move the control over entity data to builder -// Builder may switch to snapshot at any moment and lock entity data to modification - this.currentEntityData = null -// Process linked entities that are connected without a builder - processLinkedEntities(builder) - checkInitialization() // TODO uncomment and check failed tests - } - private fun checkInitialization() { - val _diff = diff - if (!getEntityData().isEntitySourceInitialized()) { - error("Field WorkspaceEntity#entitySource should be initialized") - } - if (!getEntityData().isNameInitialized()) { - error("Field KotlinScriptLibraryEntity#name should be initialized") - } - if (!getEntityData().isRootsInitialized()) { - error("Field KotlinScriptLibraryEntity#roots should be initialized") - } - if (!getEntityData().isUsedInScriptsInitialized()) { - error("Field KotlinScriptLibraryEntity#usedInScripts should be initialized") - } - } + override val entitySource: EntitySource + get() { + readField("entitySource") + return dataSource.entitySource + } override fun connectionIdList(): List { - return connections - } - - override fun afterModification() { - val collection_roots = getEntityData().roots - if (collection_roots is MutableWorkspaceList<*>) { - collection_roots.cleanModificationUpdateAction() - } - val collection_usedInScripts = getEntityData().usedInScripts - if (collection_usedInScripts is MutableWorkspaceSet<*>) { - collection_usedInScripts.cleanModificationUpdateAction() - } - } - - // Relabeling code, move information from dataSource to this builder - override fun relabel(dataSource: WorkspaceEntity, parents: Set?) { - dataSource as KotlinScriptLibraryEntity - if (this.entitySource != dataSource.entitySource) this.entitySource = dataSource.entitySource - if (this.name != dataSource.name) this.name = dataSource.name - if (this.roots != dataSource.roots) this.roots = dataSource.roots.toMutableList() - if (this.indexSourceRoots != dataSource.indexSourceRoots) this.indexSourceRoots = dataSource.indexSourceRoots - if (this.usedInScripts != dataSource.usedInScripts) this.usedInScripts = dataSource.usedInScripts.toMutableSet() - updateChildToParentReferences(parents) + return connections } - override var entitySource: EntitySource - get() = getEntityData().entitySource - set(value) { - checkModificationAllowed() - getEntityData(true).entitySource = value - changedProperty.add("entitySource") + internal class Builder(result: KotlinScriptLibraryEntityData?) : + ModifiableWorkspaceEntityBase(result), + KotlinScriptLibraryEntityBuilder { + internal constructor() : this(KotlinScriptLibraryEntityData()) - } - override var name: String - get() = getEntityData().name - set(value) { - checkModificationAllowed() - getEntityData(true).name = value - changedProperty.add("name") - } - private val rootsUpdater: (value: List) -> Unit = { value -> - - changedProperty.add("roots") - } - override var roots: MutableList - get() { - val collection_roots = getEntityData().roots - if (collection_roots !is MutableWorkspaceList) return collection_roots - if (diff == null || modifiable.get()) { - collection_roots.setModificationUpdateAction(rootsUpdater) + override fun applyToBuilder(builder: MutableEntityStorage) { + if (this.diff != null) { + if (existsInBuilder(builder)) { + this.diff = builder + return + } else { + error("Entity KotlinScriptLibraryEntity is already created in a different builder") + } + } + this.diff = builder + addToBuilder() + this.id = getEntityData().createEntityId() +// After adding entity data to the builder, we need to unbind it and move the control over entity data to builder +// Builder may switch to snapshot at any moment and lock entity data to modification + this.currentEntityData = null +// Process linked entities that are connected without a builder + processLinkedEntities(builder) + checkInitialization() // TODO uncomment and check failed tests } - else { - collection_roots.cleanModificationUpdateAction() - } - return collection_roots - } - set(value) { - checkModificationAllowed() - getEntityData(true).roots = value - rootsUpdater.invoke(value) - } - override var indexSourceRoots: Boolean - get() = getEntityData().indexSourceRoots - set(value) { - checkModificationAllowed() - getEntityData(true).indexSourceRoots = value - changedProperty.add("indexSourceRoots") - } - private val usedInScriptsUpdater: (value: Set) -> Unit = { value -> - changedProperty.add("usedInScripts") + private fun checkInitialization() { + val _diff = diff + if (!getEntityData().isEntitySourceInitialized()) { + error("Field WorkspaceEntity#entitySource should be initialized") + } + if (!getEntityData().isNameInitialized()) { + error("Field KotlinScriptLibraryEntity#name should be initialized") + } + if (!getEntityData().isRootsInitialized()) { + error("Field KotlinScriptLibraryEntity#roots should be initialized") + } + if (!getEntityData().isUsedInScriptsInitialized()) { + error("Field KotlinScriptLibraryEntity#usedInScripts should be initialized") + } + } + + override fun connectionIdList(): List { + return connections + } + + override fun afterModification() { + val collection_roots = getEntityData().roots + if (collection_roots is MutableWorkspaceList<*>) { + collection_roots.cleanModificationUpdateAction() + } + val collection_usedInScripts = getEntityData().usedInScripts + if (collection_usedInScripts is MutableWorkspaceSet<*>) { + collection_usedInScripts.cleanModificationUpdateAction() + } + } + + // Relabeling code, move information from dataSource to this builder + override fun relabel(dataSource: WorkspaceEntity, parents: Set?) { + dataSource as KotlinScriptLibraryEntity + if (this.entitySource != dataSource.entitySource) this.entitySource = dataSource.entitySource + if (this.name != dataSource.name) this.name = dataSource.name + if (this.roots != dataSource.roots) this.roots = dataSource.roots.toMutableList() + if (this.indexSourceRoots != dataSource.indexSourceRoots) this.indexSourceRoots = + dataSource.indexSourceRoots + if (this.usedInScripts != dataSource.usedInScripts) this.usedInScripts = + dataSource.usedInScripts.toMutableSet() + updateChildToParentReferences(parents) + } + + + override var entitySource: EntitySource + get() = getEntityData().entitySource + set(value) { + checkModificationAllowed() + getEntityData(true).entitySource = value + changedProperty.add("entitySource") + + } + override var name: String + get() = getEntityData().name + set(value) { + checkModificationAllowed() + getEntityData(true).name = value + changedProperty.add("name") + } + private val rootsUpdater: (value: List) -> Unit = { value -> + + changedProperty.add("roots") + } + override var roots: MutableList + get() { + val collection_roots = getEntityData().roots + if (collection_roots !is MutableWorkspaceList) return collection_roots + if (diff == null || modifiable.get()) { + collection_roots.setModificationUpdateAction(rootsUpdater) + } else { + collection_roots.cleanModificationUpdateAction() + } + return collection_roots + } + set(value) { + checkModificationAllowed() + getEntityData(true).roots = value + rootsUpdater.invoke(value) + } + override var indexSourceRoots: Boolean + get() = getEntityData().indexSourceRoots + set(value) { + checkModificationAllowed() + getEntityData(true).indexSourceRoots = value + changedProperty.add("indexSourceRoots") + } + private val usedInScriptsUpdater: (value: Set) -> Unit = { value -> + + changedProperty.add("usedInScripts") + } + override var usedInScripts: MutableSet + get() { + val collection_usedInScripts = getEntityData().usedInScripts + if (collection_usedInScripts !is MutableWorkspaceSet) return collection_usedInScripts + if (diff == null || modifiable.get()) { + collection_usedInScripts.setModificationUpdateAction(usedInScriptsUpdater) + } else { + collection_usedInScripts.cleanModificationUpdateAction() + } + return collection_usedInScripts + } + set(value) { + checkModificationAllowed() + getEntityData(true).usedInScripts = value + usedInScriptsUpdater.invoke(value) + } + + override fun getEntityClass(): Class = KotlinScriptLibraryEntity::class.java } - override var usedInScripts: MutableSet - get() { - val collection_usedInScripts = getEntityData().usedInScripts - if (collection_usedInScripts !is MutableWorkspaceSet) return collection_usedInScripts - if (diff == null || modifiable.get()) { - collection_usedInScripts.setModificationUpdateAction(usedInScriptsUpdater) - } - else { - collection_usedInScripts.cleanModificationUpdateAction() - } - return collection_usedInScripts - } - set(value) { - checkModificationAllowed() - getEntityData(true).usedInScripts = value - usedInScriptsUpdater.invoke(value) - } - - override fun getEntityClass(): Class = KotlinScriptLibraryEntity::class.java - } } @OptIn(WorkspaceEntityInternalApi::class) internal class KotlinScriptLibraryEntityData : WorkspaceEntityData(), SoftLinkable { - lateinit var name: String - lateinit var roots: MutableList - var indexSourceRoots: Boolean = false - lateinit var usedInScripts: MutableSet + lateinit var name: String + lateinit var roots: MutableList + var indexSourceRoots: Boolean = false + lateinit var usedInScripts: MutableSet - internal fun isNameInitialized(): Boolean = ::name.isInitialized - internal fun isRootsInitialized(): Boolean = ::roots.isInitialized + internal fun isNameInitialized(): Boolean = ::name.isInitialized + internal fun isRootsInitialized(): Boolean = ::roots.isInitialized - internal fun isUsedInScriptsInitialized(): Boolean = ::usedInScripts.isInitialized + internal fun isUsedInScriptsInitialized(): Boolean = ::usedInScripts.isInitialized - override fun getLinks(): Set> { - val result = HashSet>() - for (item in roots) { + override fun getLinks(): Set> { + val result = HashSet>() + for (item in roots) { + } + for (item in usedInScripts) { + result.add(item) + } + return result } - for (item in usedInScripts) { - result.add(item) - } - return result - } - override fun index(index: WorkspaceMutableIndex>) { - for (item in roots) { + override fun index(index: WorkspaceMutableIndex>) { + for (item in roots) { + } + for (item in usedInScripts) { + index.index(this, item) + } } - for (item in usedInScripts) { - index.index(this, item) - } - } - override fun updateLinksIndex(prev: Set>, index: WorkspaceMutableIndex>) { + override fun updateLinksIndex(prev: Set>, index: WorkspaceMutableIndex>) { // TODO verify logic - val mutablePreviousSet = HashSet(prev) - for (item in roots) { + val mutablePreviousSet = HashSet(prev) + for (item in roots) { + } + for (item in usedInScripts) { + val removedItem_item = mutablePreviousSet.remove(item) + if (!removedItem_item) { + index.index(this, item) + } + } + for (removed in mutablePreviousSet) { + index.remove(this, removed) + } } - for (item in usedInScripts) { - val removedItem_item = mutablePreviousSet.remove(item) - if (!removedItem_item) { - index.index(this, item) - } + + override fun updateLink(oldLink: SymbolicEntityId<*>, newLink: SymbolicEntityId<*>): Boolean { + var changed = false + val usedInScripts_data = usedInScripts.map { + val it_data = if (it == oldLink) { + changed = true + newLink as KotlinScriptId + } else { + null + } + if (it_data != null) { + it_data + } else { + it + } + } + if (usedInScripts_data != null) { + usedInScripts = usedInScripts_data as MutableSet + } + return changed } - for (removed in mutablePreviousSet) { - index.remove(this, removed) + + override fun wrapAsModifiable(diff: MutableEntityStorage): WorkspaceEntityBuilder { + val modifiable = KotlinScriptLibraryEntityImpl.Builder(null) + modifiable.diff = diff + modifiable.id = createEntityId() + return modifiable } - } - override fun updateLink(oldLink: SymbolicEntityId<*>, newLink: SymbolicEntityId<*>): Boolean { - var changed = false - val usedInScripts_data = usedInScripts.map { - val it_data = if (it == oldLink) { - changed = true - newLink as KotlinScriptId - } - else { - null - } - if (it_data != null) { - it_data - } - else { - it - } + @OptIn(EntityStorageInstrumentationApi::class) + override fun createEntity(snapshot: EntityStorageInstrumentation): KotlinScriptLibraryEntity { + val entityId = createEntityId() + return snapshot.initializeEntity(entityId) { + val entity = KotlinScriptLibraryEntityImpl(this) + entity.snapshot = snapshot + entity.id = entityId + entity + } } - if (usedInScripts_data != null) { - usedInScripts = usedInScripts_data as MutableSet + + override fun getMetadata(): EntityMetadata { + return MetadataStorageImpl.getMetadataByTypeFqn("org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity") as EntityMetadata } - return changed - } - override fun wrapAsModifiable(diff: MutableEntityStorage): WorkspaceEntityBuilder { - val modifiable = KotlinScriptLibraryEntityImpl.Builder(null) - modifiable.diff = diff - modifiable.id = createEntityId() - return modifiable - } - - @OptIn(EntityStorageInstrumentationApi::class) - override fun createEntity(snapshot: EntityStorageInstrumentation): KotlinScriptLibraryEntity { - val entityId = createEntityId() - return snapshot.initializeEntity(entityId) { - val entity = KotlinScriptLibraryEntityImpl(this) - entity.snapshot = snapshot - entity.id = entityId - entity + override fun clone(): KotlinScriptLibraryEntityData { + val clonedEntity = super.clone() + clonedEntity as KotlinScriptLibraryEntityData + clonedEntity.roots = clonedEntity.roots.toMutableWorkspaceList() + clonedEntity.usedInScripts = clonedEntity.usedInScripts.toMutableWorkspaceSet() + return clonedEntity } - } - override fun getMetadata(): EntityMetadata { - return MetadataStorageImpl.getMetadataByTypeFqn("org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity") as EntityMetadata - } + override fun getEntityInterface(): Class { + return KotlinScriptLibraryEntity::class.java + } - override fun clone(): KotlinScriptLibraryEntityData { - val clonedEntity = super.clone() - clonedEntity as KotlinScriptLibraryEntityData - clonedEntity.roots = clonedEntity.roots.toMutableWorkspaceList() - clonedEntity.usedInScripts = clonedEntity.usedInScripts.toMutableWorkspaceSet() - return clonedEntity - } + override fun createDetachedEntity(parents: List>): WorkspaceEntityBuilder<*> { + return KotlinScriptLibraryEntity(name, roots, indexSourceRoots, usedInScripts, entitySource) + } - override fun getEntityInterface(): Class { - return KotlinScriptLibraryEntity::class.java - } + override fun getRequiredParents(): List> { + val res = mutableListOf>() + return res + } - override fun createDetachedEntity(parents: List>): WorkspaceEntityBuilder<*> { - return KotlinScriptLibraryEntity(name, roots, indexSourceRoots, usedInScripts, entitySource) - } + override fun equals(other: Any?): Boolean { + if (other == null) return false + if (this.javaClass != other.javaClass) return false + other as KotlinScriptLibraryEntityData + if (this.entitySource != other.entitySource) return false + if (this.name != other.name) return false + if (this.roots != other.roots) return false + if (this.indexSourceRoots != other.indexSourceRoots) return false + if (this.usedInScripts != other.usedInScripts) return false + return true + } - override fun getRequiredParents(): List> { - val res = mutableListOf>() - return res - } + override fun equalsIgnoringEntitySource(other: Any?): Boolean { + if (other == null) return false + if (this.javaClass != other.javaClass) return false + other as KotlinScriptLibraryEntityData + if (this.name != other.name) return false + if (this.roots != other.roots) return false + if (this.indexSourceRoots != other.indexSourceRoots) return false + if (this.usedInScripts != other.usedInScripts) return false + return true + } - override fun equals(other: Any?): Boolean { - if (other == null) return false - if (this.javaClass != other.javaClass) return false - other as KotlinScriptLibraryEntityData - if (this.entitySource != other.entitySource) return false - if (this.name != other.name) return false - if (this.roots != other.roots) return false - if (this.indexSourceRoots != other.indexSourceRoots) return false - if (this.usedInScripts != other.usedInScripts) return false - return true - } + override fun hashCode(): Int { + var result = entitySource.hashCode() + result = 31 * result + name.hashCode() + result = 31 * result + roots.hashCode() + result = 31 * result + indexSourceRoots.hashCode() + result = 31 * result + usedInScripts.hashCode() + return result + } - override fun equalsIgnoringEntitySource(other: Any?): Boolean { - if (other == null) return false - if (this.javaClass != other.javaClass) return false - other as KotlinScriptLibraryEntityData - if (this.name != other.name) return false - if (this.roots != other.roots) return false - if (this.indexSourceRoots != other.indexSourceRoots) return false - if (this.usedInScripts != other.usedInScripts) return false - return true - } - - override fun hashCode(): Int { - var result = entitySource.hashCode() - result = 31 * result + name.hashCode() - result = 31 * result + roots.hashCode() - result = 31 * result + indexSourceRoots.hashCode() - result = 31 * result + usedInScripts.hashCode() - return result - } - - override fun hashCodeIgnoringEntitySource(): Int { - var result = javaClass.hashCode() - result = 31 * result + name.hashCode() - result = 31 * result + roots.hashCode() - result = 31 * result + indexSourceRoots.hashCode() - result = 31 * result + usedInScripts.hashCode() - return result - } + override fun hashCodeIgnoringEntitySource(): Int { + var result = javaClass.hashCode() + result = 31 * result + name.hashCode() + result = 31 * result + roots.hashCode() + result = 31 * result + indexSourceRoots.hashCode() + result = 31 * result + usedInScripts.hashCode() + return result + } } diff --git a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/MetadataStorageImpl.kt b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/MetadataStorageImpl.kt index 0e6783ee8672..e49ad4ed7fa5 100644 --- a/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/MetadataStorageImpl.kt +++ b/plugins/kotlin/base/scripting/scripting.k1/gen/org/jetbrains/kotlin/idea/core/script/k1/ucache/impl/MetadataStorageImpl.kt @@ -11,283 +11,411 @@ import com.intellij.platform.workspace.storage.metadata.model.ValueTypeMetadata @OptIn(WorkspaceEntityInternalApi::class) internal object MetadataStorageImpl : MetadataStorageBase() { - override fun initializeMetadata() { - val primitiveTypeStringNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "String") - val primitiveTypeSetNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "Set") - val primitiveTypeListNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "List") - val primitiveTypeBooleanNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "Boolean") + override fun initializeMetadata() { + val primitiveTypeStringNotNullable = + ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "String") + val primitiveTypeSetNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "Set") + val primitiveTypeListNotNullable = ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "List") + val primitiveTypeBooleanNotNullable = + ValueTypeMetadata.SimpleType.PrimitiveType(isNullable = false, type = "Boolean") - var typeMetadata: StorageTypeMetadata + var typeMetadata: StorageTypeMetadata - typeMetadata = - FinalClassMetadata.ClassMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntitySource", - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "virtualFileUrl", - valueType = ValueTypeMetadata.SimpleType.CustomType( - isNullable = true, - typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl")), - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.EntitySource")) + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntitySource", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "virtualFileUrl", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = true, + typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl") + ), + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.EntitySource") + ) - addMetadata(typeMetadata) + addMetadata(typeMetadata) - typeMetadata = FinalClassMetadata.ClassMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntitySource", - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "virtualFileUrl", - valueType = ValueTypeMetadata.SimpleType.CustomType( - isNullable = true, - typeMetadata = FinalClassMetadata.KnownClass( - fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl")), - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.EntitySource")) + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntitySource", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "virtualFileUrl", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = true, + typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl") + ), + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.EntitySource") + ) - addMetadata(typeMetadata) + addMetadata(typeMetadata) - typeMetadata = FinalClassMetadata.ClassMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "name", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId")) + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "name", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) - addMetadata(typeMetadata) + addMetadata(typeMetadata) - typeMetadata = FinalClassMetadata.ClassMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "path", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId")) + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "path", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) - addMetadata(typeMetadata) + addMetadata(typeMetadata) - typeMetadata = EntityMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity", - entityDataFqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.impl.KotlinScriptEntityData", - supertypes = listOf("com.intellij.platform.workspace.storage.WorkspaceEntity", - "com.intellij.platform.workspace.storage.WorkspaceEntityWithSymbolicId"), - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "entitySource", - valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.KnownClass( - fqName = "com.intellij.platform.workspace.storage.EntitySource")), - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "path", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "dependencies", - valueType = ValueTypeMetadata.ParameterizedType(generics = listOf( - ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "name", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId")))), - primitive = primitiveTypeSetNotNullable), - withDefault = false), - OwnPropertyMetadata(isComputable = true, - isKey = false, - isOpen = false, - name = "symbolicId", - valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "path", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf( - "com.intellij.platform.workspace.storage.SymbolicEntityId"))), - withDefault = false)), - extProperties = listOf(), - isAbstract = false) + typeMetadata = EntityMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity", + entityDataFqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.impl.KotlinScriptEntityData", + supertypes = listOf( + "com.intellij.platform.workspace.storage.WorkspaceEntity", + "com.intellij.platform.workspace.storage.WorkspaceEntityWithSymbolicId" + ), + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "entitySource", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.EntitySource") + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "path", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "dependencies", + valueType = ValueTypeMetadata.ParameterizedType( + generics = listOf( + ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "name", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) + ) + ), primitive = primitiveTypeSetNotNullable + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = true, + isKey = false, + isOpen = false, + name = "symbolicId", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "path", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) + ), + withDefault = false + ) + ), + extProperties = listOf(), + isAbstract = false + ) - addMetadata(typeMetadata) + addMetadata(typeMetadata) - typeMetadata = EntityMetadata(fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity", - entityDataFqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.impl.KotlinScriptLibraryEntityData", - supertypes = listOf("com.intellij.platform.workspace.storage.WorkspaceEntity", - "com.intellij.platform.workspace.storage.WorkspaceEntityWithSymbolicId"), - properties = listOf(OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "entitySource", - valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.KnownClass( - fqName = "com.intellij.platform.workspace.storage.EntitySource")), - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "name", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "roots", - valueType = ValueTypeMetadata.ParameterizedType(generics = listOf( - ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRoot", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "type", - valueType = ValueTypeMetadata.SimpleType.CustomType( - isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRootTypeId", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "name", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf( - "java.io.Serializable"))), - withDefault = false), - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "url", - valueType = ValueTypeMetadata.SimpleType.CustomType( - isNullable = false, - typeMetadata = FinalClassMetadata.KnownClass( - fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl")), - withDefault = false)), - supertypes = listOf("java.io.Serializable")))), - primitive = primitiveTypeListNotNullable), - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "indexSourceRoots", - valueType = primitiveTypeBooleanNotNullable, - withDefault = false), - OwnPropertyMetadata(isComputable = false, - isKey = false, - isOpen = false, - name = "usedInScripts", - valueType = ValueTypeMetadata.ParameterizedType(generics = listOf( - ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "path", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId")))), - primitive = primitiveTypeSetNotNullable), - withDefault = false), - OwnPropertyMetadata(isComputable = true, - isKey = false, - isOpen = false, - name = "symbolicId", - valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, - typeMetadata = FinalClassMetadata.ClassMetadata( - fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", - properties = listOf( - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "name", - valueType = primitiveTypeStringNotNullable, - withDefault = false), - OwnPropertyMetadata( - isComputable = false, - isKey = false, - isOpen = false, - name = "presentableName", - valueType = primitiveTypeStringNotNullable, - withDefault = false)), - supertypes = listOf( - "com.intellij.platform.workspace.storage.SymbolicEntityId"))), - withDefault = false)), - extProperties = listOf(), - isAbstract = false) + typeMetadata = EntityMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity", + entityDataFqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.impl.KotlinScriptLibraryEntityData", + supertypes = listOf( + "com.intellij.platform.workspace.storage.WorkspaceEntity", + "com.intellij.platform.workspace.storage.WorkspaceEntityWithSymbolicId" + ), + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "entitySource", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.EntitySource") + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "name", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "roots", + valueType = ValueTypeMetadata.ParameterizedType( + generics = listOf( + ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRoot", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "type", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRootTypeId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "name", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("java.io.Serializable") + ) + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "url", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.url.VirtualFileUrl") + ), + withDefault = false + ) + ), + supertypes = listOf("java.io.Serializable") + ) + ) + ), primitive = primitiveTypeListNotNullable + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "indexSourceRoots", + valueType = primitiveTypeBooleanNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "usedInScripts", + valueType = ValueTypeMetadata.ParameterizedType( + generics = listOf( + ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "path", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) + ) + ), primitive = primitiveTypeSetNotNullable + ), + withDefault = false + ), + OwnPropertyMetadata( + isComputable = true, + isKey = false, + isOpen = false, + name = "symbolicId", + valueType = ValueTypeMetadata.SimpleType.CustomType( + isNullable = false, + typeMetadata = FinalClassMetadata.ClassMetadata( + fqName = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", + properties = listOf( + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "name", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ), + OwnPropertyMetadata( + isComputable = false, + isKey = false, + isOpen = false, + name = "presentableName", + valueType = primitiveTypeStringNotNullable, + withDefault = false + ) + ), + supertypes = listOf("com.intellij.platform.workspace.storage.SymbolicEntityId") + ) + ), + withDefault = false + ) + ), + extProperties = listOf(), + isAbstract = false + ) - addMetadata(typeMetadata) - } + addMetadata(typeMetadata) + } - override fun initializeMetadataHash() { - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity", metadataHash = 28529041) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity", metadataHash = 1720086036) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", metadataHash = 1339490769) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", metadataHash = 771684902) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRoot", metadataHash = 1494240429) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRootTypeId", metadataHash = 535707220) - addMetadataHash(typeFqn = "com.intellij.platform.workspace.storage.EntitySource", metadataHash = 444396911) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntitySource", metadataHash = -239581324) - addMetadataHash(typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntitySource", metadataHash = 1187525315) - addMetadataHash(typeFqn = "com.intellij.platform.workspace.storage.SymbolicEntityId", metadataHash = -1251885517) - } + override fun initializeMetadataHash() { + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntity", + metadataHash = 28529041 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntity", + metadataHash = 1720086036 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryId", + metadataHash = 1339490769 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptId", + metadataHash = 771684902 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRoot", + metadataHash = 1494240429 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryRootTypeId", + metadataHash = 535707220 + ) + addMetadataHash(typeFqn = "com.intellij.platform.workspace.storage.EntitySource", metadataHash = 444396911) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptEntitySource", + metadataHash = -239581324 + ) + addMetadataHash( + typeFqn = "org.jetbrains.kotlin.idea.core.script.k1.ucache.KotlinScriptLibraryEntitySource", + metadataHash = 1187525315 + ) + addMetadataHash( + typeFqn = "com.intellij.platform.workspace.storage.SymbolicEntityId", + metadataHash = -1251885517 + ) + } }