diff --git a/.idea/libraries/jspecify.xml b/.idea/libraries/jspecify.xml new file mode 100644 index 000000000000..0b2ee84c6c58 --- /dev/null +++ b/.idea/libraries/jspecify.xml @@ -0,0 +1,18 @@ + + + + + + 1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab + + + + + + + + + + + + \ No newline at end of file diff --git a/fleet/build/codecache/BUILD.bazel b/fleet/build/codecache/BUILD.bazel index 8588550f7dfb..e60ab0fc7a59 100644 --- a/fleet/build/codecache/BUILD.bazel +++ b/fleet/build/codecache/BUILD.bazel @@ -29,6 +29,7 @@ jvm_library( "@lib//:slf4j-api", "@lib//:fleet-jetbrains-intellij-platform-util-zip-squashed", "@lib//:fleet-jetbrains-intellij-idea-community-build-zip", + "@lib//:jetbrains-annotations", ] ) ### auto-generated section `build fleet.build.codecache` end \ No newline at end of file diff --git a/fleet/build/codecache/fleet.build.codecache.iml b/fleet/build/codecache/fleet.build.codecache.iml index 4c0dc6795294..52df72fed3e3 100644 --- a/fleet/build/codecache/fleet.build.codecache.iml +++ b/fleet/build/codecache/fleet.build.codecache.iml @@ -32,5 +32,6 @@ + \ No newline at end of file diff --git a/fleet/build/codecache/gradlebuild/build.gradle.kts b/fleet/build/codecache/gradlebuild/build.gradle.kts index ab75d98bfc9e..2e0ecad043fb 100644 --- a/fleet/build/codecache/gradlebuild/build.gradle.kts +++ b/fleet/build/codecache/gradlebuild/build.gradle.kts @@ -61,6 +61,7 @@ kotlin { implementation(jps.com.jetbrains.intellij.idea.idea.community.build.zip464377771.get().let { "${it.group}:${it.name}:${it.version}" }) { exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib") } + implementation(jps.org.jetbrains.annotations1504825916.get()) implementation(project(":fleet.bundles")) implementation(project(":fleet.codecache")) implementation(project(":fleet.build.platform")) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/inferenceResults.kt b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/inferenceResults.kt index e8426d63b934..67c6b36ab782 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/inferenceResults.kt +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/inferenceResults.kt @@ -16,6 +16,7 @@ import com.intellij.psi.util.PsiUtil import com.siyeh.ig.psiutils.ClassUtils import java.util.* +@ConsistentCopyVisibility public data class ExpressionRange internal constructor (val startOffset: Int, val endOffset: Int) { public companion object { diff --git a/lib/BUILD.bazel b/lib/BUILD.bazel index a9bb2f4451f6..3036323a9a1f 100644 --- a/lib/BUILD.bazel +++ b/lib/BUILD.bazel @@ -8135,6 +8135,20 @@ jvm_import( visibility = ["//visibility:public"] ) +jvm_import( + name = "jspecify", + jar = "@org_jspecify-jspecify-1_0_0_http//file", + source_jar = "@org_jspecify-jspecify-1_0_0-sources_http//file", + visibility = ["//visibility:public"] +) + +java_library( + name = "jspecify-provided", + exports = [":jspecify"], + neverlink = True, + visibility = ["//visibility:public"] +) + jvm_import( name = "jsr305", jar = "@com_google_code_findbugs-jsr305-3_0_2_http//file", @@ -10896,7 +10910,6 @@ java_library( ":androidx_lifecycle-lifecycle-runtime-compose-desktop-2_9_4_http_import", ":androidx_lifecycle-lifecycle-runtime-desktop-2_9_4_http_import", ":androidx_lifecycle-lifecycle-common-jvm-2_9_4_http_import", - ":org_jspecify-jspecify-1_0_0_http_import", ":androidx_arch_core-core-common-2_2_0_http_import", ":androidx_annotation-annotation-1_1_0_http_import", ], diff --git a/libraries/compose-runtime-desktop/BUILD.bazel b/libraries/compose-runtime-desktop/BUILD.bazel index b6b044ffa09f..57436d1ee8a7 100644 --- a/libraries/compose-runtime-desktop/BUILD.bazel +++ b/libraries/compose-runtime-desktop/BUILD.bazel @@ -21,6 +21,7 @@ jvm_library( "@lib//:libraries-compose-runtime-desktop-androidx-compose-runtime-desktop", "@lib//:libraries-compose-runtime-desktop-androidx-compose-runtime-saveable-desktop", "@lib//:libraries-compose-runtime-desktop-androidx-compose-runtime-retain-desktop", + "@lib//:jspecify", ] ) ### auto-generated section `build intellij.libraries.compose.runtime.desktop` end \ No newline at end of file diff --git a/libraries/compose-runtime-desktop/intellij.libraries.compose.runtime.desktop.iml b/libraries/compose-runtime-desktop/intellij.libraries.compose.runtime.desktop.iml index b0f3f6d5d291..26c4e3812217 100644 --- a/libraries/compose-runtime-desktop/intellij.libraries.compose.runtime.desktop.iml +++ b/libraries/compose-runtime-desktop/intellij.libraries.compose.runtime.desktop.iml @@ -68,9 +68,6 @@ 37d89b2101f074ac6c260917dabb185607645ee200aa3018c7c5bde70edcf184 - - 1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab - 65308a06b1c00ee186cb9e19321383f043b993813f1522c47f4a3e3303bdba41 @@ -85,6 +82,7 @@ + @@ -94,12 +92,10 @@ - - @@ -109,7 +105,6 @@ - @@ -133,5 +128,6 @@ + \ No newline at end of file diff --git a/libraries/dokka/BUILD.bazel b/libraries/dokka/BUILD.bazel index f7049607f401..46ed87e988a5 100644 --- a/libraries/dokka/BUILD.bazel +++ b/libraries/dokka/BUILD.bazel @@ -4,6 +4,7 @@ load("@rules_jvm//:jvm.bzl", "jvm_library") jvm_library( name = "dokka", visibility = ["//visibility:public"], - srcs = glob([], allow_empty = True) + srcs = glob([], allow_empty = True), + exports = ["@lib//:libraries-dokka-jetbrains-dokka-analysis-kotlin-descriptors-provided"] ) ### auto-generated section `build intellij.libraries.dokka` end \ No newline at end of file diff --git a/libraries/dokka/intellij.libraries.dokka.iml b/libraries/dokka/intellij.libraries.dokka.iml index 9067118d3c23..f1f5676b6f58 100644 --- a/libraries/dokka/intellij.libraries.dokka.iml +++ b/libraries/dokka/intellij.libraries.dokka.iml @@ -75,7 +75,7 @@ - + diff --git a/platform/bookmarks/src/com/intellij/ide/bookmark/BookmarksManagerImpl.kt b/platform/bookmarks/src/com/intellij/ide/bookmark/BookmarksManagerImpl.kt index 5435d7eac052..d4aecdb40212 100644 --- a/platform/bookmarks/src/com/intellij/ide/bookmark/BookmarksManagerImpl.kt +++ b/platform/bookmarks/src/com/intellij/ide/bookmark/BookmarksManagerImpl.kt @@ -593,7 +593,7 @@ class BookmarksManagerImpl @ApiStatus.Internal constructor(private val project: internal fun sortLater(): CancellablePromise<*> = invoker.invokeLater { sort() } - private fun sort() = synchronized(notifier) { + private fun sort(): Unit = synchronized(notifier) { if (groupBookmarks.isEmpty()) return if (!contains(this)) return val list = groupBookmarks.sortedWith(this::compare) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/http2Client/ZstdCompressContextPool.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/http2Client/ZstdCompressContextPool.kt index 6fcb16962f14..9fe00c665dd7 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/http2Client/ZstdCompressContextPool.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/http2Client/ZstdCompressContextPool.kt @@ -7,7 +7,7 @@ import io.netty.util.concurrent.FastThreadLocal // we cannot use Netty Recycler as we must close ZstdCompressCtx after use of pool internal class ZstdCompressContextPool(private val level: Int = 12) { - private val pool = object : FastThreadLocal>() { + private val pool: FastThreadLocal> = object : FastThreadLocal>() { override fun initialValue(): MutableList = ArrayList() override fun onRemoval(value: MutableList) { diff --git a/platform/collaboration-tools/src/com/intellij/collaboration/ui/codereview/list/NamedCollection.kt b/platform/collaboration-tools/src/com/intellij/collaboration/ui/codereview/list/NamedCollection.kt index 0459340ea257..2aac04832800 100644 --- a/platform/collaboration-tools/src/com/intellij/collaboration/ui/codereview/list/NamedCollection.kt +++ b/platform/collaboration-tools/src/com/intellij/collaboration/ui/codereview/list/NamedCollection.kt @@ -3,6 +3,7 @@ package com.intellij.collaboration.ui.codereview.list import org.jetbrains.annotations.Nls +@ConsistentCopyVisibility data class NamedCollection private constructor(val namePlural: @Nls String, val items: List) { companion object { fun create(namePlural: @Nls String, items: List): NamedCollection? = diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerState.kt b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerState.kt index 87de97380cd9..40c03ed6cf9a 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerState.kt +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerState.kt @@ -6,6 +6,7 @@ import org.jetbrains.annotations.ApiStatus // todo merge into PluginSetState? @ApiStatus.Internal +@ConsistentCopyVisibility data class PluginManagerState internal constructor( @JvmField val pluginSet: PluginSet, @JvmField val pluginIdsToDisable: Set, diff --git a/platform/editor-ui-api/src/com/intellij/ide/ui/NotRoamableUiSettings.kt b/platform/editor-ui-api/src/com/intellij/ide/ui/NotRoamableUiSettings.kt index c5463338ef3c..834396a508c8 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/ui/NotRoamableUiSettings.kt +++ b/platform/editor-ui-api/src/com/intellij/ide/ui/NotRoamableUiSettings.kt @@ -142,6 +142,7 @@ class NotRoamableUiSettings @Internal constructor(): SerializablePersistentState } } +@ConsistentCopyVisibility data class NotRoamableUiOptions internal constructor( @JvmField @OptionTag val ideAAType: AntialiasingType = if (AntialiasingType.canUseSubpixelAAForIDE()) AntialiasingType.SUBPIXEL else AntialiasingType.GREYSCALE, @JvmField @OptionTag val editorAAType: AntialiasingType = if (AntialiasingType.canUseSubpixelAAForEditor()) AntialiasingType.SUBPIXEL else AntialiasingType.GREYSCALE, diff --git a/platform/execution-process-mediator/client/src/com/intellij/execution/process/mediator/client/launcher/ProcessMediatorConnectionManager.kt b/platform/execution-process-mediator/client/src/com/intellij/execution/process/mediator/client/launcher/ProcessMediatorConnectionManager.kt index 10ac1f23e389..67d11d0039fa 100644 --- a/platform/execution-process-mediator/client/src/com/intellij/execution/process/mediator/client/launcher/ProcessMediatorConnectionManager.kt +++ b/platform/execution-process-mediator/client/src/com/intellij/execution/process/mediator/client/launcher/ProcessMediatorConnectionManager.kt @@ -52,7 +52,7 @@ class ProcessMediatorConnectionManager(private val connectionProvider: () -> Pro } } - fun adjustQuota(quotaOptions: QuotaOptions) = synchronized(this) { + fun adjustQuota(quotaOptions: QuotaOptions): Unit = synchronized(this) { val connection = getActiveConnectionOrNull() ?: return connection.client.adjustQuotaBlocking(quotaOptions) } diff --git a/platform/execution-process-mediator/common/src/com/intellij/execution/process/mediator/common/grpc/ExceptionAsStatus.kt b/platform/execution-process-mediator/common/src/com/intellij/execution/process/mediator/common/grpc/ExceptionAsStatus.kt index 8da141e023cf..cf683f86e1ee 100644 --- a/platform/execution-process-mediator/common/src/com/intellij/execution/process/mediator/common/grpc/ExceptionAsStatus.kt +++ b/platform/execution-process-mediator/common/src/com/intellij/execution/process/mediator/common/grpc/ExceptionAsStatus.kt @@ -13,10 +13,11 @@ import java.io.IOException import java.util.concurrent.CancellationException import kotlin.reflect.KClass -@Suppress("DataClassPrivateConstructor") +@ConsistentCopyVisibility data class ExceptionAsStatus private constructor(val status: Status, val exceptionDescriptor: ExceptionDescriptor<*>) { + @ConsistentCopyVisibility data class ExceptionDescriptor internal constructor( val type: KClass, val constructor: (String?, Throwable?) -> T diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/ml/MLFeatureValue.kt b/platform/lang-api/src/com/intellij/codeInsight/completion/ml/MLFeatureValue.kt index a7055605a2a8..6d7314467be7 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/ml/MLFeatureValue.kt +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/ml/MLFeatureValue.kt @@ -61,9 +61,14 @@ sealed class MLFeatureValue : MLFeatureValueBase { fun version(value: String): MLFeatureValue = VersionValue(value) } + @ConsistentCopyVisibility data class BinaryValue internal constructor(override val value: Boolean) : MLFeatureValue() + @ConsistentCopyVisibility data class FloatValue internal constructor(override val value: Double) : MLFeatureValue() + @ConsistentCopyVisibility data class CategoricalValue internal constructor(override val value: String) : MLFeatureValue() + @ConsistentCopyVisibility data class ClassNameValue internal constructor(override val value: Class<*>, val useSimpleName: Boolean) : MLFeatureValue() + @ConsistentCopyVisibility data class VersionValue internal constructor(override val value: String) : MLFeatureValue() } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/impl/NavigationActionResult.kt b/platform/lang-impl/src/com/intellij/codeInsight/navigation/impl/NavigationActionResult.kt index 2be96bc75d99..169cc0c01f2e 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/impl/NavigationActionResult.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/impl/NavigationActionResult.kt @@ -29,6 +29,7 @@ sealed class NavigationActionResult { } @Internal +@ConsistentCopyVisibility data class LazyTargetWithPresentation internal constructor( val requestor: NavigationRequestor, val presentation: TargetPresentation, diff --git a/platform/lang-impl/src/com/intellij/platform/backend/documentation/DocumentationData.kt b/platform/lang-impl/src/com/intellij/platform/backend/documentation/DocumentationData.kt index 4afb0f4b0194..43cc06765c7f 100644 --- a/platform/lang-impl/src/com/intellij/platform/backend/documentation/DocumentationData.kt +++ b/platform/lang-impl/src/com/intellij/platform/backend/documentation/DocumentationData.kt @@ -10,6 +10,7 @@ import java.awt.Image @Internal @VisibleForTesting +@ConsistentCopyVisibility data class DocumentationData internal constructor( internal val content: DocumentationContentData, internal val links: LinkData = LinkData(), diff --git a/platform/lang-impl/src/com/intellij/platform/backend/documentation/classes.kt b/platform/lang-impl/src/com/intellij/platform/backend/documentation/classes.kt index 8cf2207fe589..188116328a2c 100644 --- a/platform/lang-impl/src/com/intellij/platform/backend/documentation/classes.kt +++ b/platform/lang-impl/src/com/intellij/platform/backend/documentation/classes.kt @@ -18,6 +18,7 @@ import java.awt.Image import java.util.function.Supplier @Internal +@ConsistentCopyVisibility internal data class DocumentationContentData internal constructor( val html: @Nls String, val imageResolver: DocumentationImageResolver?, diff --git a/platform/ml-api/src/com/intellij/platform/ml/monitoring/MLApproachListener.kt b/platform/ml-api/src/com/intellij/platform/ml/monitoring/MLApproachListener.kt index ad61e5fc407a..0c64051474a8 100644 --- a/platform/ml-api/src/com/intellij/platform/ml/monitoring/MLApproachListener.kt +++ b/platform/ml-api/src/com/intellij/platform/ml/monitoring/MLApproachListener.kt @@ -32,6 +32,7 @@ interface MLTaskGroupListener { * * A proper way to create it is to use [monitoredBy] */ + @ConsistentCopyVisibility data class ApproachToListener, P : Any> internal constructor( val taskApproachBuilder: Class>, val approachListener: Collection> diff --git a/platform/ml-impl/src/com/intellij/textMatching/PrefixMatchingUtil.kt b/platform/ml-impl/src/com/intellij/textMatching/PrefixMatchingUtil.kt index acd88d34944f..db10facdf95f 100644 --- a/platform/ml-impl/src/com/intellij/textMatching/PrefixMatchingUtil.kt +++ b/platform/ml-impl/src/com/intellij/textMatching/PrefixMatchingUtil.kt @@ -37,6 +37,7 @@ object PrefixMatchingUtil { features.addFeature("matched_last_word", prefixMatchingScores.exactFinal, false) } + @ConsistentCopyVisibility data class PrefixMatchingScores internal constructor( val exact: Boolean, val exactFinal: Boolean, diff --git a/platform/platform-api/src/com/intellij/platform/ide/navigation/NavigationOptions.kt b/platform/platform-api/src/com/intellij/platform/ide/navigation/NavigationOptions.kt index 146cd98c4aaa..75d4c3c0eb98 100644 --- a/platform/platform-api/src/com/intellij/platform/ide/navigation/NavigationOptions.kt +++ b/platform/platform-api/src/com/intellij/platform/ide/navigation/NavigationOptions.kt @@ -74,6 +74,7 @@ interface NavigationOptions { } @Internal + @ConsistentCopyVisibility data class Impl internal constructor( val requestFocus: Boolean, val preserveCaret: Boolean, diff --git a/platform/platform-impl/src/com/intellij/execution/wsl/WslPath.kt b/platform/platform-impl/src/com/intellij/execution/wsl/WslPath.kt index 8b8ac944c04f..9936bba93d15 100644 --- a/platform/platform-impl/src/com/intellij/execution/wsl/WslPath.kt +++ b/platform/platform-impl/src/com/intellij/execution/wsl/WslPath.kt @@ -5,6 +5,7 @@ import com.intellij.openapi.util.io.FileUtil.toSystemDependentName import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName import com.intellij.openapi.vfs.impl.wsl.WslConstants +@ConsistentCopyVisibility data class WslPath internal constructor(private val prefix: String = WslConstants.UNC_PREFIX, val distributionId: String, val linuxPath: String) { diff --git a/platform/polySymbols/src/com/intellij/polySymbols/context/PolyContextSourceProximityProvider.kt b/platform/polySymbols/src/com/intellij/polySymbols/context/PolyContextSourceProximityProvider.kt index fa90546e6b87..775915f3aad9 100644 --- a/platform/polySymbols/src/com/intellij/polySymbols/context/PolyContextSourceProximityProvider.kt +++ b/platform/polySymbols/src/com/intellij/polySymbols/context/PolyContextSourceProximityProvider.kt @@ -31,6 +31,7 @@ interface PolyContextSourceProximityProvider { data object ProjectToolExecutable : SourceKind + @ConsistentCopyVisibility data class PackageManagerDependency internal constructor(val name: String) : SourceKind } diff --git a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt index 5a4b1d441cd5..d1a67a7bdae6 100644 --- a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt +++ b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt @@ -129,7 +129,7 @@ open class ModuleDependencyIndexImpl(private val project: Project): ModuleDepend return jdkChangeListener.hasDependencyOn(sdk) } - fun workspaceModelChanged(event: VersionedStorageChange) = changedListenerTimeMs.addMeasuredTime { + fun workspaceModelChanged(event: VersionedStorageChange): Unit = changedListenerTimeMs.addMeasuredTime { if (project.isDisposed) return // By using set we make sure that we won't add the same library multiple times diff --git a/platform/workspace/storage/src/com/intellij/platform/workspace/storage/impl/serialization/registration/SerializerRegistrar.kt b/platform/workspace/storage/src/com/intellij/platform/workspace/storage/impl/serialization/registration/SerializerRegistrar.kt index 8c091bfe324e..abcb6d4999bb 100644 --- a/platform/workspace/storage/src/com/intellij/platform/workspace/storage/impl/serialization/registration/SerializerRegistrar.kt +++ b/platform/workspace/storage/src/com/intellij/platform/workspace/storage/impl/serialization/registration/SerializerRegistrar.kt @@ -22,7 +22,7 @@ private fun registerSerializer(kryo: Kryo, type: Class, serializer: kryo.register(type, serializer).apply { instantiator = initializer } } -private object EmptySerializer : Serializer(false, true) { +internal object EmptySerializer : Serializer(false, true) { override fun write(kryo: Kryo?, output: Output?, `object`: Any?) {} override fun read(kryo: Kryo, input: Input?, type: Class?): Any = kryo.newInstance(type) } \ No newline at end of file diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt index 979e2b4b8f31..984aba027604 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/XDebuggerThreadsList.kt @@ -162,6 +162,7 @@ class XDebuggerThreadsList( } } +@ConsistentCopyVisibility data class StackInfo internal constructor( @Nls val displayText: String, val icon: Icon?, diff --git a/plugins/editorconfig/frontend/BUILD.bazel b/plugins/editorconfig/frontend/BUILD.bazel index 935d999cf341..e83259389097 100644 --- a/plugins/editorconfig/frontend/BUILD.bazel +++ b/plugins/editorconfig/frontend/BUILD.bazel @@ -16,6 +16,7 @@ jvm_library( deps = [ "//platform/analysis-api:analysis", "//platform/core-api:core", + "//platform/core-impl", "//platform/editor-ui-api:editor-ui", "//platform/lang-api:lang", "//plugins/editorconfig/common", diff --git a/plugins/editorconfig/frontend/intellij.editorconfig.frontend.iml b/plugins/editorconfig/frontend/intellij.editorconfig.frontend.iml index 9d1807458e40..aa5c9b69743d 100644 --- a/plugins/editorconfig/frontend/intellij.editorconfig.frontend.iml +++ b/plugins/editorconfig/frontend/intellij.editorconfig.frontend.iml @@ -10,6 +10,7 @@ + diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/actions/Actions.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/actions/Actions.kt index c37d4ffe00e0..1467fa213e68 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/actions/Actions.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/actions/Actions.kt @@ -40,58 +40,68 @@ sealed interface Action { data class FileActions(val path: String, val checksum: String?, val sessionsCount: Int, val actions: List) +@ConsistentCopyVisibility data class MoveCaret internal constructor(override val sessionId: SessionId, val offset: Int) : Action { override val type = Action.ActionType.MOVE_CARET internal constructor(sessionId: UUID, offset: Int) : this(UUIDBasedSessionId(sessionId), offset) } +@ConsistentCopyVisibility data class Rename internal constructor(override val sessionId: SessionId, val offset: Int, val newName: String) : Action { override val type = Action.ActionType.RENAME internal constructor(sessionId: UUID, offset: Int, newName: String) : this(UUIDBasedSessionId(sessionId), offset, newName) } +@ConsistentCopyVisibility data class CallFeature internal constructor(override val sessionId: SessionId, val expectedText: String, val offset: Int, val nodeProperties: TokenProperties) : Action { override val type: Action.ActionType = Action.ActionType.CALL_FEATURE internal constructor(sessionId: UUID, expectedText: String, offset: Int, nodeProperties: TokenProperties) : this(UUIDBasedSessionId(sessionId), expectedText, offset, nodeProperties) } +@ConsistentCopyVisibility data class PrintText internal constructor(override val sessionId: SessionId, val text: String) : Action { override val type: Action.ActionType = Action.ActionType.PRINT_TEXT internal constructor(sessionId: UUID, text: String) : this(UUIDBasedSessionId(sessionId), text) } +@ConsistentCopyVisibility data class DeleteRange internal constructor(override val sessionId: SessionId, val begin: Int, val end: Int) : Action { override val type: Action.ActionType = Action.ActionType.DELETE_RANGE internal constructor(sessionId: UUID, begin: Int, end: Int) : this(UUIDBasedSessionId(sessionId), begin, end) } +@ConsistentCopyVisibility data class SelectRange internal constructor(override val sessionId: SessionId, val begin: Int, val end: Int) : Action { override val type: Action.ActionType = Action.ActionType.SELECT_RANGE internal constructor(sessionId: UUID, begin: Int, end: Int) : this(UUIDBasedSessionId(sessionId), begin, end) } +@ConsistentCopyVisibility data class Delay internal constructor(override val sessionId: SessionId, val seconds: Int) : Action { override val type: Action.ActionType = Action.ActionType.DELAY internal constructor(sessionId: UUID, seconds: Int) : this(UUIDBasedSessionId(sessionId), seconds) } +@ConsistentCopyVisibility data class OpenFileInBackground internal constructor(override val sessionId: SessionId, val file: String) : Action { override val type: Action.ActionType = Action.ActionType.OPEN_FILE_IN_BACKGROUND internal constructor(sessionId: UUID, file: String) : this(UUIDBasedSessionId(sessionId), file) } +@ConsistentCopyVisibility data class OptimiseImports internal constructor(override val sessionId: SessionId, val file: String) : Action { override val type: Action.ActionType = Action.ActionType.OPTIMISE_IMPORTS } +@ConsistentCopyVisibility data class Rollback internal constructor(override val sessionId: SessionId, val file: String) : Action { override val type: Action.ActionType = Action.ActionType.ROLLBACK } diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt index 8c7bbae4f088..656eebab7c62 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt @@ -23,6 +23,7 @@ import java.nio.file.Paths * @property reorder The configuration for element reordering step. * @property reports The configuration for report generation step. */ +@ConsistentCopyVisibility data class Config private constructor( val outputDir: String, val strategy: EvaluationStrategy, @@ -67,6 +68,7 @@ data class Config private constructor( val sourceFile: String? } + @ConsistentCopyVisibility data class ActionsGenerationIml internal constructor( override var projectPath: String, override val projectName: String, @@ -87,6 +89,7 @@ data class Config private constructor( val chunkSize: Int? } + @ConsistentCopyVisibility data class FileDatasetImpl internal constructor( override val url: String, override val chunkSize: Int?, @@ -109,6 +112,7 @@ data class Config private constructor( * @property trainTestSplit The train test split for detailed ranking logs. * @property registry List of registry values to be updated before the evaluation in the format "key1=value1,key2=value2" */ + @ConsistentCopyVisibility data class ActionsInterpretation internal constructor( val experimentGroup: Int?, val sessionsLimit: Int?, @@ -134,6 +138,7 @@ data class Config private constructor( * @property title The title of the reordering in reports. * @property features The list of ML features to be used for reordering. */ + @ConsistentCopyVisibility data class ReorderElements internal constructor( val useReordering: Boolean, val title: String, @@ -149,6 +154,7 @@ data class Config private constructor( * @property comparisonFilters The list of comparison filters. These filters allow subsetting sessions based on multiple evaluations. * @property lookupFilters The list of lookup filters. These filters allow filtering out certain lookups from the session. */ + @ConsistentCopyVisibility data class ReportGeneration internal constructor( val evaluationTitle: String, val defaultMetrics: List?, diff --git a/plugins/gradle/BUILD.bazel b/plugins/gradle/BUILD.bazel index b07b8cf2cca6..05b6457a0dd5 100644 --- a/plugins/gradle/BUILD.bazel +++ b/plugins/gradle/BUILD.bazel @@ -46,6 +46,7 @@ jvm_library( "@lib//:slf4j-jdk14", "//platform/ide-core-impl", "@lib//:gradle", + "@lib//:jspecify", "//libraries/gson", "//platform/object-serializer:objectSerializer-annotations", "//libraries/ion", diff --git a/plugins/gradle/intellij.gradle.iml b/plugins/gradle/intellij.gradle.iml index 7499bd82afbf..29c06d8b4871 100644 --- a/plugins/gradle/intellij.gradle.iml +++ b/plugins/gradle/intellij.gradle.iml @@ -33,6 +33,7 @@ + diff --git a/plugins/gradle/tooling-proxy/BUILD.bazel b/plugins/gradle/tooling-proxy/BUILD.bazel index 34d73b3d5a49..3e1cf89f48a0 100644 --- a/plugins/gradle/tooling-proxy/BUILD.bazel +++ b/plugins/gradle/tooling-proxy/BUILD.bazel @@ -8,6 +8,7 @@ jvm_library( srcs = glob(["src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True), kotlinc_opts = "@community//:k8", deps = [ + "@lib//:jspecify", "@lib//:gradle", "@lib//:kotlin-stdlib", "@lib//:jetbrains-annotations", diff --git a/plugins/gradle/tooling-proxy/intellij.gradle.toolingProxy.iml b/plugins/gradle/tooling-proxy/intellij.gradle.toolingProxy.iml index 2090427fac1f..3286f2ecf82c 100644 --- a/plugins/gradle/tooling-proxy/intellij.gradle.toolingProxy.iml +++ b/plugins/gradle/tooling-proxy/intellij.gradle.toolingProxy.iml @@ -23,6 +23,7 @@ + diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/ast/GrGeneratedConstructorUtils.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/ast/GrGeneratedConstructorUtils.kt index 0697be831a45..cd8505d0d264 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/ast/GrGeneratedConstructorUtils.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/ast/GrGeneratedConstructorUtils.kt @@ -59,6 +59,7 @@ private fun inferStringArrayValueShallow(anno: PsiAnnotation, attributeName: Str /** * For specific annotation (@MapConstructor/@TupleConstructor) this class computes all actually affected members */ +@ConsistentCopyVisibility data class AffectedMembersCache internal constructor(private val order: List, private val hasPropertyOptions: Boolean, private val referencedFromExcludes: List) { diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/RecordTransformationSupport.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/RecordTransformationSupport.kt index 7946bfac71d0..ccb0d41ee82a 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/RecordTransformationSupport.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/RecordTransformationSupport.kt @@ -23,7 +23,7 @@ import org.jetbrains.plugins.groovy.transformations.AstTransformationSupport import org.jetbrains.plugins.groovy.transformations.TransformationContext class RecordTransformationSupport : AstTransformationSupport { - override fun applyTransformation(context: TransformationContext) = with(context) { + override fun applyTransformation(context: TransformationContext): Unit = with(context) { if (codeClass is GrRecordDefinition) { prepareSyntacticRecord(codeClass as GrRecordDefinition) } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/ext/ginq/GinqTransformationPerformer.kt b/plugins/groovy/src/org/jetbrains/plugins/groovy/ext/ginq/GinqTransformationPerformer.kt index eefdb0840468..318ed40629b1 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/ext/ginq/GinqTransformationPerformer.kt +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/ext/ginq/GinqTransformationPerformer.kt @@ -126,7 +126,7 @@ class GinqTransformationPerformer(private val root: GinqRootPsiElement) : Groovy return true } - override fun computeCompletionVariants(parameters: CompletionParameters, result: CompletionResultSet) = with(GinqCompletionUtils) { + override fun computeCompletionVariants(parameters: CompletionParameters, result: CompletionResultSet): Unit = with(GinqCompletionUtils) { val position = parameters.position val tree = position.getClosestGinqTree(root) if (tree == null) { diff --git a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleProductionSourceInfo.kt b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleProductionSourceInfo.kt index 503b5086d130..519e6c665689 100644 --- a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleProductionSourceInfo.kt +++ b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleProductionSourceInfo.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.idea.base.util.K1ModeProjectStructureApi import org.jetbrains.kotlin.name.Name @K1ModeProjectStructureApi +@ConsistentCopyVisibility data class ModuleProductionSourceInfo internal constructor( override val module: Module ) : ModuleSourceInfoWithExpectedBy(forProduction = true) { diff --git a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleTestSourceInfo.kt b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleTestSourceInfo.kt index 6b5d97e20b75..9a7b175a63b1 100644 --- a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleTestSourceInfo.kt +++ b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/moduleInfo/ModuleTestSourceInfo.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.utils.closure //TODO: (module refactoring) do not create ModuleTestSourceInfo when there are no test roots for module @K1ModeProjectStructureApi +@ConsistentCopyVisibility data class ModuleTestSourceInfo internal constructor( override val module: Module ) : ModuleSourceInfoWithExpectedBy(forProduction = false), IdeaModuleInfo { diff --git a/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenGradleProjectImportHandler.kt b/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenGradleProjectImportHandler.kt index 02d076cd28c4..f412408d9cfd 100644 --- a/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenGradleProjectImportHandler.kt +++ b/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenGradleProjectImportHandler.kt @@ -14,7 +14,7 @@ class AllOpenGradleProjectImportHandler : AbstractAnnotationBasedCompilerPluginG override val compilerPluginId = PLUGIN_ID override val pluginName = "allopen" override val annotationOptionName = ANNOTATION_OPTION_NAME - override val pluginJarFileFromIdea = KotlinArtifacts.allopenCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() + override val pluginJarFileFromIdea: String = KotlinArtifacts.allopenCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() override val modelKey = AllOpenProjectResolverExtension.KEY override fun getAnnotationsForPreset(presetName: String): List { diff --git a/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenProjectResolverExtension.kt b/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenProjectResolverExtension.kt index 2887c462bd69..f815d14d0f25 100644 --- a/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenProjectResolverExtension.kt +++ b/plugins/kotlin/compiler-plugins/allopen/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/allopen/gradleJava/AllOpenProjectResolverExtension.kt @@ -8,9 +8,9 @@ import org.jetbrains.kotlin.idea.gradleJava.compilerPlugin.AnnotationBasedPlugin class AllOpenProjectResolverExtension : AnnotationBasedPluginProjectResolverExtension() { companion object { - val KEY = Key.create(AllOpenModel::class.java, 1) + val KEY: Key = Key.create(AllOpenModel::class.java, 1) } override val modelClass get() = AllOpenModel::class.java - override val userDataKey get() = KEY + override val userDataKey: Key get() = KEY } \ No newline at end of file diff --git a/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentGradleProjectImportHandler.kt b/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentGradleProjectImportHandler.kt index c498e0fa9325..c2a9d58e8f82 100644 --- a/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentGradleProjectImportHandler.kt +++ b/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentGradleProjectImportHandler.kt @@ -16,6 +16,6 @@ class AssignmentGradleProjectImportHandler : AbstractAnnotationBasedCompilerPlug override val compilerPluginId = PLUGIN_ID override val pluginName = "assignment" override val annotationOptionName = ANNOTATION_OPTION_NAME - override val pluginJarFileFromIdea = KotlinArtifacts.assignmentCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() + override val pluginJarFileFromIdea: String = KotlinArtifacts.assignmentCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() override val modelKey = AssignmentProjectResolverExtension.KEY } diff --git a/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentProjectResolverExtension.kt b/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentProjectResolverExtension.kt index 0a5705aeded1..c0fe456e635d 100644 --- a/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentProjectResolverExtension.kt +++ b/plugins/kotlin/compiler-plugins/assignment/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/assignment/gradleJava/AssignmentProjectResolverExtension.kt @@ -11,9 +11,9 @@ import org.jetbrains.kotlin.idea.gradleTooling.model.assignment.AssignmentModel class AssignmentProjectResolverExtension : AnnotationBasedPluginProjectResolverExtension() { companion object { - val KEY = Key.create(AssignmentModel::class.java, 1) + val KEY: Key = Key.create(AssignmentModel::class.java, 1) } override val modelClass get() = AssignmentModel::class.java - override val userDataKey get() = KEY + override val userDataKey: Key get() = KEY } \ No newline at end of file diff --git a/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgGradleProjectImportHandler.kt b/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgGradleProjectImportHandler.kt index b4a9a7a6170c..c38c24aa299d 100644 --- a/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgGradleProjectImportHandler.kt +++ b/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgGradleProjectImportHandler.kt @@ -16,7 +16,7 @@ class NoArgGradleProjectImportHandler : AbstractAnnotationBasedCompilerPluginGra override val compilerPluginId = PLUGIN_ID override val pluginName = "noarg" override val annotationOptionName = ANNOTATION_OPTION_NAME - override val pluginJarFileFromIdea = KotlinArtifacts.noargCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() + override val pluginJarFileFromIdea: String = KotlinArtifacts.noargCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() override val modelKey = NoArgProjectResolverExtension.KEY override fun getOptions(model: NoArgModel): List { diff --git a/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgProjectResolverExtension.kt b/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgProjectResolverExtension.kt index f1975e776251..5e7289d8046f 100644 --- a/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgProjectResolverExtension.kt +++ b/plugins/kotlin/compiler-plugins/noarg/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/noarg/gradleJava/NoArgProjectResolverExtension.kt @@ -8,9 +8,9 @@ import org.jetbrains.kotlin.idea.gradleTooling.model.noarg.NoArgModel class NoArgProjectResolverExtension : AnnotationBasedPluginProjectResolverExtension() { companion object { - val KEY = Key.create(NoArgModel::class.java, 1) + val KEY: Key = Key.create(NoArgModel::class.java, 1) } override val modelClass get() = NoArgModel::class.java - override val userDataKey get() = KEY + override val userDataKey: Key get() = KEY } \ No newline at end of file diff --git a/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverGradleProjectImportHandler.kt b/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverGradleProjectImportHandler.kt index bc2826f20750..c20c24ba8710 100644 --- a/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverGradleProjectImportHandler.kt +++ b/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverGradleProjectImportHandler.kt @@ -12,7 +12,7 @@ class SamWithReceiverGradleProjectImportHandler : AbstractAnnotationBasedCompile override val compilerPluginId = SamWithReceiverPluginNames.PLUGIN_ID override val pluginName = "sam-with-receiver" override val annotationOptionName = SamWithReceiverPluginNames.ANNOTATION_OPTION_NAME - override val pluginJarFileFromIdea = KotlinArtifacts.samWithReceiverCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() + override val pluginJarFileFromIdea: String = KotlinArtifacts.samWithReceiverCompilerPlugin.toJpsVersionAgnosticKotlinBundledPath() override val modelKey = SamWithReceiverProjectResolverExtension.KEY override fun getAnnotationsForPreset(presetName: String): List { diff --git a/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverProjectResolverExtension.kt b/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverProjectResolverExtension.kt index 822a36330e55..0293d291d126 100644 --- a/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverProjectResolverExtension.kt +++ b/plugins/kotlin/compiler-plugins/sam-with-receiver/gradle/src/org/jetbrains/kotlin/idea/compilerPlugin/samWithReceiver/gradleJava/SamWithReceiverProjectResolverExtension.kt @@ -8,9 +8,9 @@ import org.jetbrains.kotlin.idea.gradleTooling.model.samWithReceiver.SamWithRece class SamWithReceiverProjectResolverExtension : AnnotationBasedPluginProjectResolverExtension() { companion object { - val KEY = Key.create(SamWithReceiverModel::class.java, 1) + val KEY: Key = Key.create(SamWithReceiverModel::class.java, 1) } override val modelClass get() = SamWithReceiverModel::class.java - override val userDataKey get() = KEY + override val userDataKey: Key get() = KEY } \ No newline at end of file diff --git a/plugins/kotlin/completion/impl-k1/src/org/jetbrains/kotlin/idea/completion/ReferenceVariantsCollector.kt b/plugins/kotlin/completion/impl-k1/src/org/jetbrains/kotlin/idea/completion/ReferenceVariantsCollector.kt index ad8f799a4fa3..f560d646c89e 100644 --- a/plugins/kotlin/completion/impl-k1/src/org/jetbrains/kotlin/idea/completion/ReferenceVariantsCollector.kt +++ b/plugins/kotlin/completion/impl-k1/src/org/jetbrains/kotlin/idea/completion/ReferenceVariantsCollector.kt @@ -78,6 +78,7 @@ class ReferenceVariantsCollector( } } + @ConsistentCopyVisibility private data class FilterConfiguration internal constructor( val descriptorKindFilter: DescriptorKindFilter, val additionalPropertyNameFilter: ((String) -> Boolean)?, diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/populateModuleDependenciesByPlatformPropagation.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/populateModuleDependenciesByPlatformPropagation.kt index a11656c95dba..0025d2697287 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/populateModuleDependenciesByPlatformPropagation.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/populateModuleDependenciesByPlatformPropagation.kt @@ -31,7 +31,7 @@ private typealias CompilationDependencies = Set private fun KotlinMppGradleProjectResolver.Companion.populateModuleDependenciesByPlatformPropagation( context: KotlinMppPopulateModuleDependenciesContext, sourceSet: KotlinSourceSet -) = with(context) { +): Unit = with(context) { val sourceSetDataNode = getSiblingKotlinModuleData(sourceSet, gradleIdeaModule, ideModule, resolverCtx)?.cast() ?: return diff --git a/plugins/kotlin/gradle/gradle-tooling/impl/BUILD.bazel b/plugins/kotlin/gradle/gradle-tooling/impl/BUILD.bazel index 17e307f44c0d..21bbad6cb5b5 100644 --- a/plugins/kotlin/gradle/gradle-tooling/impl/BUILD.bazel +++ b/plugins/kotlin/gradle/gradle-tooling/impl/BUILD.bazel @@ -20,6 +20,7 @@ jvm_library( resources = [":impl_resources"], kotlinc_opts = "@community//:k8", deps = [ + "@lib//:jetbrains-annotations", "@lib//:kotlin-stdlib", "//libraries/kotlin/reflect", "@lib//:kotlin-tooling-core", @@ -31,6 +32,7 @@ jvm_library( "//plugins/gradle/tooling-extension-api:toolingExtension", "//plugins/gradle/tooling-extension-impl:toolingExtension-impl", "@lib//:opentelemetry", + "@lib//:jspecify-provided", ":platform_extensions_provided", ] ) @@ -42,6 +44,7 @@ jvm_library( kotlinc_opts = "@community//:k8", associates = [":impl"], deps = [ + "@lib//:jetbrains-annotations", "@lib//:kotlin-stdlib", "//libraries/kotlin/reflect", "@lib//:kotlin-tooling-core", @@ -56,6 +59,7 @@ jvm_library( "@lib//:kotlin-test-junit", "@lib//:kotlin-test", "@lib//:opentelemetry", + "@lib//:jspecify-provided", ":platform_extensions_provided", ] ) diff --git a/plugins/kotlin/gradle/gradle-tooling/impl/intellij.kotlin.gradle.tooling.impl.iml b/plugins/kotlin/gradle/gradle-tooling/impl/intellij.kotlin.gradle.tooling.impl.iml index e28a72d2ba8a..01c17c96163f 100644 --- a/plugins/kotlin/gradle/gradle-tooling/impl/intellij.kotlin.gradle.tooling.impl.iml +++ b/plugins/kotlin/gradle/gradle-tooling/impl/intellij.kotlin.gradle.tooling.impl.iml @@ -25,6 +25,7 @@ + @@ -40,5 +41,6 @@ + \ No newline at end of file diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/kdoc/KotlinExternalDocs.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/kdoc/KotlinExternalDocs.kt index 2873f3449943..56eea454ac84 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/kdoc/KotlinExternalDocs.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/kdoc/KotlinExternalDocs.kt @@ -359,8 +359,8 @@ private fun Element.findClassMemberElementDescriptionFromAnchor(doIncludeSignatu private fun Element.findElementDescriptionFromUlBlockList(doIncludeSignature: Boolean = false): String? { val infoHolder = selectFirst("li.blockList") ?: return null val description = infoHolder.getElementsByClass("block").first() ?: return null - val signature = description.previousElementSibling()?.takeIf { it.tag().normalName() == "pre" } - val tagsDictionary = description.nextElementSibling()?.takeIf { it.tag().normalName() == "dl" } + val signature: Element? = (description.previousElementSibling() as Element?)?.takeIf { it.tag().normalName() == "pre" } + val tagsDictionary: Element? = (description.nextElementSibling() as Element?)?.takeIf { it.tag().normalName() == "dl" } return buildString { if (doIncludeSignature && signature != null) { diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/InsertDelegationCallQuickfix.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/InsertDelegationCallQuickfix.kt index d29423fa072a..ea7939860134 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/InsertDelegationCallQuickfix.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/InsertDelegationCallQuickfix.kt @@ -51,7 +51,7 @@ class InsertDelegationCallQuickfix(val isThis: Boolean, element: KtSecondaryCons } object InsertThisDelegationCallFactory : KotlinSingleIntentionActionFactory() { - override fun createAction(diagnostic: Diagnostic) = + override fun createAction(diagnostic: Diagnostic): IntentionAction? = diagnostic.createIntentionForFirstParentOfType { secondaryConstructor -> return if (secondaryConstructor.getContainingClassOrObject().getConstructorsCount() <= 1 || !secondaryConstructor.hasImplicitDelegationCall() diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/slicer/ArgumentSliceProducer.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/slicer/ArgumentSliceProducer.kt index b6748abf7e6a..bcc7b15a8182 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/slicer/ArgumentSliceProducer.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/slicer/ArgumentSliceProducer.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension import org.jetbrains.kotlin.resolve.source.getPsi @Suppress("DataClassPrivateConstructor") // we have modifier data to get equals&hashCode only +@ConsistentCopyVisibility data class ArgumentSliceProducer private constructor( private val parameterIndex: Int, private val isExtension: Boolean diff --git a/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inference/common/collectors/CommonConstraintsCollector.kt b/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inference/common/collectors/CommonConstraintsCollector.kt index 95f5cca1eda7..3448a76d1a70 100644 --- a/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inference/common/collectors/CommonConstraintsCollector.kt +++ b/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inference/common/collectors/CommonConstraintsCollector.kt @@ -26,7 +26,7 @@ class CommonConstraintsCollector : ConstraintsCollector() { boundTypeCalculator: BoundTypeCalculator, inferenceContext: InferenceContext, resolutionFacade: ResolutionFacade - ) = with(boundTypeCalculator) { + ): Unit = with(boundTypeCalculator) { when { element is KtBinaryExpressionWithTypeRHS && KtPsiUtil.isUnsafeCast(element) -> { element.right?.typeElement?.let { inferenceContext.typeElementToTypeVariable[it] }?.also { typeVariable -> diff --git a/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inspectionLikePostProcessing.kt b/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inspectionLikePostProcessing.kt index ea7a07c91a12..2c71a91c69d0 100644 --- a/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inspectionLikePostProcessing.kt +++ b/plugins/kotlin/j2k/k1.new.post-processing/src/org/jetbrains/kotlin/idea/j2k/post/processing/inspectionLikePostProcessing.kt @@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project import com.intellij.profile.codeInspection.InspectionProfileManager import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractApplicabilityBasedInspection +import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractKotlinInspection import org.jetbrains.kotlin.idea.codeinsight.api.classic.intentions.SelfTargetingRangeIntention import org.jetbrains.kotlin.idea.util.application.isUnitTestMode @@ -54,7 +55,7 @@ internal inline fun > mo override val writeActionNeeded = writeActionNeeded } -internal inline fun > inspectionBasedProcessing( +internal inline fun > inspectionBasedProcessing( inspection: I, writeActionNeeded: Boolean = true, checkInspectionIsEnabled: Boolean = true, diff --git a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt index dd8f66808ffc..5f43822f6e28 100644 --- a/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt +++ b/plugins/kotlin/j2k/shared/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt @@ -1342,7 +1342,7 @@ class JavaToJKTreeBuilder( this@withLineBreaksFrom } - private fun O.withCommentsAfterWithParent(psi: PsiElement?) = with(formattingCollector) { + private fun O.withCommentsAfterWithParent(psi: PsiElement?): O = with(formattingCollector) { if (psi == null) return@with this@withCommentsAfterWithParent this@withCommentsAfterWithParent.commentsAfter += psi.commentsAfterWithParent() return this@withCommentsAfterWithParent diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt index 7f1b0f8b42ef..e5273c00d621 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/MavenSyncConsole.kt @@ -102,7 +102,7 @@ class MavenSyncConsole(private val myProject: Project) : MavenEventHandler, Mave } @Synchronized - private fun addText(parentId: Any, @Nls text: String, stdout: Boolean) = doIfImportInProcess { + private fun addText(parentId: Any, @Nls text: String, stdout: Boolean): Unit = doIfImportInProcess { if (StringUtil.isEmpty(text)) { return } @@ -132,7 +132,7 @@ class MavenSyncConsole(private val myProject: Project) : MavenEventHandler, Mave } @Synchronized - fun addWarning(@Nls text: String, @Nls description: String, filePosition: FilePosition?) = doIfImportInProcess { + fun addWarning(@Nls text: String, @Nls description: String, filePosition: FilePosition?): Unit = doIfImportInProcess { if (!newIssue(text + description + filePosition)) return if (filePosition == null) { mySyncView.onEvent(mySyncId, diff --git a/plugins/repository-search/src/main/kotlin/org/jetbrains/idea/completion/util/LogExtensions.kt b/plugins/repository-search/src/main/kotlin/org/jetbrains/idea/completion/util/LogExtensions.kt index 72a286b72c1f..e2716fa0ffc6 100644 --- a/plugins/repository-search/src/main/kotlin/org/jetbrains/idea/completion/util/LogExtensions.kt +++ b/plugins/repository-search/src/main/kotlin/org/jetbrains/idea/completion/util/LogExtensions.kt @@ -129,13 +129,13 @@ private inline fun catchAndSuppress(action: () -> Unit) { runCatching { action() } } -internal fun logTrace(message: String) = catchAndSuppress { +internal fun logTrace(message: String): Unit = catchAndSuppress { if (!Registry.`is`("org.jetbrains.idea.reposearch.log.debug", false)) return if (!logger.isDebugEnabled && !notificationShown.getAndSet(true)) warnNotLoggable() logger.trace(message) } -internal fun logTrace(throwable: Throwable) = catchAndSuppress { +internal fun logTrace(throwable: Throwable): Unit = catchAndSuppress { if (!Registry.`is`("org.jetbrains.idea.reposearch.log.debug", false)) return if (!logger.isDebugEnabled && !notificationShown.getAndSet(true)) warnNotLoggable() logger.trace(throwable) diff --git a/plugins/settings-repository/src/autoSync.kt b/plugins/settings-repository/src/autoSync.kt index 5232f82bcdac..ae096c838afa 100644 --- a/plugins/settings-repository/src/autoSync.kt +++ b/plugins/settings-repository/src/autoSync.kt @@ -21,7 +21,7 @@ internal class AutoSyncManager(private val icsManager: IcsManager) { @Volatile var enabled = true - suspend fun waitAutoSync() = reportRawProgress { reporter -> + suspend fun waitAutoSync(): Unit = reportRawProgress { reporter -> val autoFuture = autoSyncFuture ?: return if (autoFuture.isCompleted) { autoSyncFuture = null @@ -128,7 +128,7 @@ internal class AutoSyncManager(private val icsManager: IcsManager) { } } -internal inline fun catchAndLog(asWarning: Boolean = false, runnable: () -> Unit) { +internal inline fun catchAndLog(asWarning: Boolean = false, runnable: () -> Unit): Unit { try { runnable() } diff --git a/plugins/toml/json/BUILD.bazel b/plugins/toml/json/BUILD.bazel index b9376efbbd70..8de03e3c757f 100644 --- a/plugins/toml/json/BUILD.bazel +++ b/plugins/toml/json/BUILD.bazel @@ -17,6 +17,7 @@ jvm_library( "//platform/analysis-api:analysis", "//platform/code-style-api:codeStyle", "//platform/core-api:core", + "//platform/core-impl", "//platform/editor-ui-api:editor-ui", "//platform/lang-api:lang", "//platform/platform-impl:ide-impl", diff --git a/plugins/toml/json/intellij.toml.json.iml b/plugins/toml/json/intellij.toml.json.iml index 5d2c72f61261..45dd83b553e4 100644 --- a/plugins/toml/json/intellij.toml.json.iml +++ b/plugins/toml/json/intellij.toml.json.iml @@ -11,6 +11,7 @@ + diff --git a/python/python-psi-impl/src/com/jetbrains/python/packaging/PyPackageVersion.kt b/python/python-psi-impl/src/com/jetbrains/python/packaging/PyPackageVersion.kt index 4b9734792500..8cf061cf1cb2 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/packaging/PyPackageVersion.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/packaging/PyPackageVersion.kt @@ -6,6 +6,7 @@ package com.jetbrains.python.packaging * * Instances of this class MUST be obtained from [PyPackageVersionNormalizer.normalize]. */ +@ConsistentCopyVisibility data class PyPackageVersion internal constructor( val epoch: String? = null, val release: String, @@ -28,4 +29,6 @@ data class PyPackageVersion internal constructor( private fun postPresentable() = post?.let { ".$it" } private fun devPresentable() = dev?.let { ".$it" } private fun localPresentable() = local?.let { "+$it" } + + fun withRelease(newRelease: String): PyPackageVersion = PyPackageVersion(epoch, newRelease, pre, post, dev, local) } \ No newline at end of file diff --git a/python/python-test-env/core/src/com/intellij/python/test/env/core/DefaultPyEnvironmentFactory.kt b/python/python-test-env/core/src/com/intellij/python/test/env/core/DefaultPyEnvironmentFactory.kt index 0bb7f3da12c5..9f2ffca5cc8b 100644 --- a/python/python-test-env/core/src/com/intellij/python/test/env/core/DefaultPyEnvironmentFactory.kt +++ b/python/python-test-env/core/src/com/intellij/python/test/env/core/DefaultPyEnvironmentFactory.kt @@ -24,7 +24,8 @@ class DefaultPyEnvironmentFactory( override val cacheDir: Path = PyEnvDownloadCache.cacheDirectory() } @Suppress("UNCHECKED_CAST") - return (provider as PyEnvironmentProvider>).setupEnvironment(context, spec) + val setupEnv = provider::setupEnvironment as suspend (PyEnvironmentProvider.Context, PyEnvironmentSpec<*>) -> PyEnvironment + return setupEnv(context, spec) } } error("No provider found for environment specification: $spec") diff --git a/python/src/com/jetbrains/python/requirements/PackageUtils.kt b/python/src/com/jetbrains/python/requirements/PackageUtils.kt index e00dc01f1c91..2e3be5fefb46 100644 --- a/python/src/com/jetbrains/python/requirements/PackageUtils.kt +++ b/python/src/com/jetbrains/python/requirements/PackageUtils.kt @@ -29,10 +29,10 @@ operator fun PyPackageVersion?.compareTo(other: PyPackageVersion?): Int { if (diff != 0) { val tail = Array(kotlin.math.abs(diff)) { "0" } if (diff > 0) { - b = other.copy(release = (partsOther + tail).joinToString(".")) + b = other.withRelease((partsOther + tail).joinToString(".")) } else { - a = this.copy(release = (partsThis + tail).joinToString(".")) + a = this.withRelease((partsThis + tail).joinToString(".")) } } return PyPackageVersionComparator.compare(a, b) @@ -58,7 +58,7 @@ fun compareVersions(actual: PyPackageVersion?, operation: String, required: PyPa val partsAsInt = parts.subList(0, parts.size - 2).map { it.toInt() } val lastGroup = parts[parts.size - 2].toInt() + 1 - val maxRequired = required.copy(release = (partsAsInt + listOf(lastGroup)).joinToString(".")) + val maxRequired = required.withRelease((partsAsInt + listOf(lastGroup)).joinToString(".")) return compareVersions(actual, ">=", required) && compareVersions(actual, "<", maxRequired) } diff --git a/tools/apiDump/src/impl.kt b/tools/apiDump/src/impl.kt index aeb4d62e5687..838a7bdd4c5e 100644 --- a/tools/apiDump/src/impl.kt +++ b/tools/apiDump/src/impl.kt @@ -1,5 +1,5 @@ // Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "UnusedReceiverParameter", "DATA_CLASS_INVISIBLE_COPY_USAGE_WARNING") +@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "UnusedReceiverParameter", "DATA_CLASS_INVISIBLE_COPY_USAGE_WARNING", "DATA_CLASS_INVISIBLE_COPY_USAGE_ERROR") package com.intellij.tools.apiDump diff --git a/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/metrics/PerformanceMetrics.kt b/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/metrics/PerformanceMetrics.kt index 580141e4df25..e97a643836ca 100644 --- a/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/metrics/PerformanceMetrics.kt +++ b/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/metrics/PerformanceMetrics.kt @@ -20,11 +20,13 @@ data class PerformanceMetrics( /** * Metric used to measure duration of events in ms */ + @ConsistentCopyVisibility data class Duration internal constructor(override val name: String) : MetricId() /** * Metric used to count the number of times an event has occurred */ + @ConsistentCopyVisibility data class Counter internal constructor(override val name: String) : MetricId() } diff --git a/uast/uast-common-ide/src/org/jetbrains/uast/analysis/DependencyGraphBuilder.kt b/uast/uast-common-ide/src/org/jetbrains/uast/analysis/DependencyGraphBuilder.kt index 23431cc0b5de..10868bb2260e 100644 --- a/uast/uast-common-ide/src/org/jetbrains/uast/analysis/DependencyGraphBuilder.kt +++ b/uast/uast-common-ide/src/org/jetbrains/uast/analysis/DependencyGraphBuilder.kt @@ -310,7 +310,7 @@ internal class DependencyGraphBuilder private constructor( return@checkedDepthCall true } - override fun visitExpressionList(node: UExpressionList) = checkedDepthCall(node) { + override fun visitExpressionList(node: UExpressionList): Boolean = checkedDepthCall(node) { ProgressManager.checkCanceled() if (node.kind.name != UAST_KT_ELVIS_NAME) { return super.visitExpressionList(node)