mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[devkit] IJPL-179707 Move threadingModelHelper to dedicated module intellij.devkit.threading
GitOrigin-RevId: 1a7bee6fe9b4f58aa8726e9a2d04b0602f617ab8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ba388d9687
commit
fff8af55a5
Generated
+1
@@ -405,6 +405,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.stacktrace/intellij.devkit.stacktrace.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.stacktrace/intellij.devkit.stacktrace.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/devkit-tests/intellij.devkit.testFramework.iml" filepath="$PROJECT_DIR$/plugins/devkit/devkit-tests/intellij.devkit.testFramework.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.themes/intellij.devkit.themes.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.themes/intellij.devkit.themes.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.threading/intellij.devkit.threading.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.threading/intellij.devkit.threading.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.uiDesigner/intellij.devkit.uiDesigner.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.uiDesigner/intellij.devkit.uiDesigner.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.workspaceModel/intellij.devkit.workspaceModel.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.workspaceModel/intellij.devkit.workspaceModel.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/intellij.devkit.workspaceModel/k1/intellij.devkit.workspaceModel.k1.iml" filepath="$PROJECT_DIR$/plugins/devkit/intellij.devkit.workspaceModel/k1/intellij.devkit.workspaceModel.k1.iml" />
|
||||
|
||||
@@ -919,6 +919,7 @@ plugins/devkit/intellij.devkit.scaffolding
|
||||
plugins/devkit/intellij.devkit.smartupdate
|
||||
plugins/devkit/intellij.devkit.stacktrace
|
||||
plugins/devkit/intellij.devkit.themes
|
||||
plugins/devkit/intellij.devkit.threading
|
||||
plugins/devkit/intellij.devkit.uiDesigner
|
||||
plugins/devkit/intellij.devkit.workspaceModel
|
||||
plugins/devkit/intellij.devkit.workspaceModel/k1
|
||||
|
||||
-1
@@ -18,5 +18,4 @@ public final class DevkitComposeIcons {
|
||||
/** 16x16 */ public static final @NotNull Icon ComposeToolWindow = load("icons/composeToolWindow.svg", 542147654, 2);
|
||||
/** 16x16 */ public static final @NotNull Icon Github = load("icons/github.svg", 2052536327, 2);
|
||||
/** 16x16 */ public static final @NotNull Icon JewelToolWindow = load("icons/jewelToolWindow.svg", -219486260, 2);
|
||||
/** 16x16 */ public static final @NotNull Icon LockReqs = load("icons/lock-reqs.svg", 1816243125, 2);
|
||||
}
|
||||
|
||||
@@ -68,8 +68,6 @@
|
||||
<action id="ComposeShowcase" class="com.intellij.devkit.compose.showcase.ComposeShowcaseAction"/>
|
||||
<action id="JewelActionSystemTest" class="com.intellij.devkit.compose.demo.ActionSystemTestAction"/>
|
||||
|
||||
<action id="LockReqAnalysis" internal="true" class="com.intellij.devkit.compose.threadingModelHelper.LockReqAction"/>
|
||||
|
||||
<group id="ComposePreviewActions.Title" searchable="false">
|
||||
<action id="ComposePreviewRefresh"
|
||||
class="com.intellij.devkit.compose.preview.ComposePreviewRefreshAction"
|
||||
|
||||
-4
@@ -67,10 +67,6 @@ action.ComposePreviewRefreshAuto.text=Refresh Automatically
|
||||
action.ComposePreviewRefreshAuto.GoToAction.text=Refresh Compose UI Preview Automatically
|
||||
action.ComposePreviewRefreshAuto.description=Toggles automatic refresh on changes in code
|
||||
|
||||
action.LockReqAnalysis.text=Analyze Lock Requirements
|
||||
progress.title.analyzing.lock.requirements=Analyzing lock requirements
|
||||
tab.title.locking.requirements=Locking Requirements
|
||||
|
||||
action.DevkitComposeHotReloadExecutorAction.text=Run with Compose Hot Reload
|
||||
action.DevkitComposeHotReloadExecutorAction.description=Run with Compose Hot Reload
|
||||
action.DevkitComposeHotReloadExecutorAction.text.0=Run ''{0}'' with Compose Hot Reload
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper
|
||||
|
||||
import com.intellij.openapi.util.IconLoader
|
||||
import javax.swing.Icon
|
||||
|
||||
object LockReqIcons {
|
||||
@JvmField
|
||||
val LockReqIcon: Icon = IconLoader.getIcon("/icons/lock-reqs.svg", LockReqIcons::class.java)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
### auto-generated section `build intellij.devkit.threading` start
|
||||
load("//build:compiler-options.bzl", "create_kotlinc_options")
|
||||
load("@rules_jvm//:jvm.bzl", "jvm_library", "resourcegroup")
|
||||
|
||||
create_kotlinc_options(
|
||||
name = "custom_threading",
|
||||
opt_in = [
|
||||
"androidx.compose.foundation.ExperimentalFoundationApi",
|
||||
"kotlinx.coroutines.ExperimentalCoroutinesApi",
|
||||
],
|
||||
plugin_options = ["plugin:androidx.compose.compiler.plugins.kotlin:generateFunctionKeyMetaAnnotations=true"]
|
||||
)
|
||||
|
||||
resourcegroup(
|
||||
name = "threading_resources",
|
||||
srcs = glob(["resources/**/*"]),
|
||||
strip_prefix = "resources"
|
||||
)
|
||||
|
||||
jvm_library(
|
||||
name = "threading",
|
||||
module_name = "intellij.devkit.threading",
|
||||
visibility = ["//visibility:public"],
|
||||
srcs = glob(["gen/**/*.kt", "gen/**/*.java", "src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True),
|
||||
resources = [":threading_resources"],
|
||||
kotlinc_opts = ":custom_threading",
|
||||
deps = [
|
||||
"@lib//:kotlin-stdlib",
|
||||
"//platform/util:util-ui",
|
||||
"//platform/core-api:core",
|
||||
"//platform/editor-ui-api:editor-ui",
|
||||
"//platform/platform-api:ide",
|
||||
"//java/java-psi-api:psi",
|
||||
"//platform/core-ui",
|
||||
"//platform/compose",
|
||||
"//plugins/devkit/devkit-core:core",
|
||||
"//platform/analysis-api:analysis",
|
||||
],
|
||||
plugins = ["@lib//:compose-plugin"]
|
||||
)
|
||||
### auto-generated section `build intellij.devkit.threading` end
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.threading.icons;
|
||||
|
||||
import com.intellij.ui.IconManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* NOTE THIS FILE IS AUTO-GENERATED
|
||||
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
|
||||
*/
|
||||
public final class DevkitThreadingIcons {
|
||||
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
|
||||
return IconManager.getInstance().loadRasterizedIcon(path, DevkitThreadingIcons.class.getClassLoader(), cacheKey, flags);
|
||||
}
|
||||
/** 16x16 */ public static final @NotNull Icon LockRequirements = load("icons/lockRequirements.svg", 1608805900, 2);
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 21" allPlatforms="JVM [21]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -opt-in=androidx.compose.foundation.ExperimentalFoundationApi -opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi -P plugin:androidx.compose.compiler.plugins.kotlin:generateFunctionKeyMetaAnnotations=true" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="21" />
|
||||
<stringArg name="apiVersion" arg="2.3" />
|
||||
<stringArg name="languageVersion" arg="2.3" />
|
||||
</stringArguments>
|
||||
<arrayArguments>
|
||||
<arrayArg name="pluginClasspaths">
|
||||
<args>$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.3.0/kotlin-compose-compiler-plugin-2.3.0.jar</args>
|
||||
</arrayArg>
|
||||
</arrayArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="com.intellij.devkit.threading" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide" />
|
||||
<orderEntry type="module" module-name="intellij.java.psi" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.compose" />
|
||||
<orderEntry type="module" module-name="intellij.devkit.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.analysis" />
|
||||
</component>
|
||||
</module>
|
||||
|
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 708 B |
|
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 708 B |
@@ -0,0 +1,14 @@
|
||||
<idea-plugin>
|
||||
<dependencies>
|
||||
<module name="intellij.devkit.core"/>
|
||||
<module name="intellij.platform.compose"/>
|
||||
</dependencies>
|
||||
|
||||
<resource-bundle>messages.DevkitThreadingBundle</resource-bundle>
|
||||
|
||||
<actions resource-bundle="messages.DevkitThreadingBundle">
|
||||
<action id="LockReqAnalysis"
|
||||
class="com.intellij.devkit.threading.threadingModelHelper.LockReqAction"
|
||||
icon="com.intellij.devkit.threading.icons.DevkitThreadingIcons.LockRequirements"/>
|
||||
</actions>
|
||||
</idea-plugin>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
action.LockReqAnalysis.text=Analyze Lock Requirements
|
||||
progress.title.analyzing.lock.requirements=Analyzing lock requirements
|
||||
tab.title.locking.requirements=Locking Requirements
|
||||
@@ -0,0 +1,23 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.threading
|
||||
|
||||
import com.intellij.DynamicBundle
|
||||
import org.jetbrains.annotations.Nls
|
||||
import org.jetbrains.annotations.PropertyKey
|
||||
import java.util.function.Supplier
|
||||
|
||||
private const val BUNDLE = "messages.DevkitThreadingBundle"
|
||||
|
||||
internal object DevkitThreadingBundle {
|
||||
private val instance = DynamicBundle(DevkitThreadingBundle::class.java, BUNDLE)
|
||||
|
||||
@JvmStatic
|
||||
fun message(key: @PropertyKey(resourceBundle = BUNDLE) String, vararg params: Any?): @Nls String {
|
||||
return instance.getMessage(key, *params)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun messagePointer(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): Supplier<@Nls String> {
|
||||
return instance.getLazyMessage(key, *params)
|
||||
}
|
||||
}
|
||||
+18
-20
@@ -1,8 +1,12 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper
|
||||
package com.intellij.devkit.threading.threadingModelHelper
|
||||
|
||||
import com.intellij.devkit.compose.DevkitComposeBundle
|
||||
import com.intellij.openapi.actionSystem.*
|
||||
import com.intellij.devkit.threading.DevkitThreadingBundle
|
||||
import com.intellij.devkit.threading.icons.DevkitThreadingIcons
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.components.service
|
||||
@@ -17,11 +21,11 @@ import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.LockReqPsiOps
|
||||
|
||||
class LockReqAction : AnAction() {
|
||||
private const val TOOLWINDOW_ID: String = "LockReqs"
|
||||
|
||||
companion object {
|
||||
private const val TOOLWINDOW_ID: String = "LockReqs"
|
||||
}
|
||||
internal class LockReqAction : AnAction() {
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
||||
|
||||
override fun actionPerformed(e: AnActionEvent) {
|
||||
e.coroutineScope.launch(Dispatchers.Default) {
|
||||
@@ -39,19 +43,16 @@ class LockReqAction : AnAction() {
|
||||
toolWindow.activate { }
|
||||
}
|
||||
}
|
||||
|
||||
val target = readAction {
|
||||
|
||||
val psiFile = e.getData(CommonDataKeys.PSI_FILE) ?: return@readAction null
|
||||
val element = LockReqPsiOps.forLanguage(psiFile.language).extractTargetElement(psiFile, editor.caretModel.offset)
|
||||
?: return@readAction null
|
||||
|
||||
val smartPointerManager = SmartPointerManager.getInstance(project)
|
||||
|
||||
val element = LockReqPsiOps.forLanguage(psiFile.language).extractTargetElement(psiFile, editor.caretModel.offset) ?: return@readAction null
|
||||
|
||||
smartPointerManager.createSmartPsiElementPointer<PsiMethod>(element)
|
||||
SmartPointerManager.getInstance(project).createSmartPsiElementPointer<PsiMethod>(element)
|
||||
} ?: return@launch
|
||||
|
||||
val service = project.service<LockReqsService>()
|
||||
service.analyzeMethod(target)
|
||||
project.service<LockReqsService>().analyzeMethod(target)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,9 +62,9 @@ class LockReqAction : AnAction() {
|
||||
id = TOOLWINDOW_ID,
|
||||
anchor = ToolWindowAnchor.BOTTOM,
|
||||
component = null,
|
||||
icon = LockReqIcons.LockReqIcon,
|
||||
icon = DevkitThreadingIcons.LockRequirements,
|
||||
contentFactory = LockReqsToolWindowFactory(),
|
||||
stripeTitle = DevkitComposeBundle.messagePointer("tab.title.locking.requirements"),
|
||||
stripeTitle = DevkitThreadingBundle.messagePointer("tab.title.locking.requirements"),
|
||||
)
|
||||
)
|
||||
return toolWindow
|
||||
@@ -71,7 +72,6 @@ class LockReqAction : AnAction() {
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabledAndVisible = shouldBeEnabled(e)
|
||||
e.presentation.icon = LockReqIcons.LockReqIcon
|
||||
}
|
||||
|
||||
private fun shouldBeEnabled(e: AnActionEvent): Boolean {
|
||||
@@ -79,6 +79,4 @@ class LockReqAction : AnAction() {
|
||||
val caretOffset = e.getData(CommonDataKeys.EDITOR)?.caretModel?.offset ?: return false
|
||||
return LockReqPsiOps.forLanguageOrNull(psiFile.language)?.extractTargetElement(psiFile, caretOffset) != null
|
||||
}
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
||||
}
|
||||
+4
-5
@@ -1,5 +1,5 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper
|
||||
package com.intellij.devkit.threading.threadingModelHelper
|
||||
|
||||
import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -9,7 +9,7 @@ import com.intellij.psi.SmartPsiElementPointer
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.setValue
|
||||
import com.intellij.devkit.compose.DevkitComposeBundle
|
||||
import com.intellij.devkit.threading.DevkitThreadingBundle
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.AnalysisConfig
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.AnalysisResult
|
||||
@@ -17,9 +17,8 @@ import org.jetbrains.idea.devkit.threadingModelHelper.DefaultLockReqConsumer
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.LOCK_REQUIREMENTS
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.LockReqAnalyzerParallelBFS
|
||||
|
||||
|
||||
@Service(Service.Level.PROJECT)
|
||||
class LockReqsService(private val project: Project) {
|
||||
internal class LockReqsService(private val project: Project) {
|
||||
|
||||
private var _currentResults by mutableStateOf<List<AnalysisResult?>>(emptyList())
|
||||
val currentResults: List<AnalysisResult?>
|
||||
@@ -28,7 +27,7 @@ class LockReqsService(private val project: Project) {
|
||||
suspend fun analyzeMethod(methodPtr: SmartPsiElementPointer<PsiMethod>) {
|
||||
val analyzer = LockReqAnalyzerParallelBFS()
|
||||
val config = AnalysisConfig.forProject(project, LOCK_REQUIREMENTS)
|
||||
withBackgroundProgress(project, DevkitComposeBundle.message("progress.title.analyzing.lock.requirements"), true) {
|
||||
withBackgroundProgress(project, DevkitThreadingBundle.message("progress.title.analyzing.lock.requirements"), true) {
|
||||
val consumer = DefaultLockReqConsumer(methodPtr) { snapshot ->
|
||||
ApplicationManager.getApplication().invokeLater {
|
||||
_currentResults = listOf(snapshot)
|
||||
+5
-5
@@ -1,17 +1,17 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper
|
||||
package com.intellij.devkit.threading.threadingModelHelper
|
||||
|
||||
import com.intellij.devkit.compose.threadingModelHelper.ui.LockReqsToolWindow
|
||||
import com.intellij.devkit.threading.threadingModelHelper.ui.LockReqsToolWindow
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.wm.ToolWindow
|
||||
import com.intellij.openapi.wm.ToolWindowFactory
|
||||
import com.intellij.ui.content.ContentFactory
|
||||
import org.jetbrains.jewel.bridge.JewelComposePanel
|
||||
import org.jetbrains.jewel.bridge.compose
|
||||
|
||||
class LockReqsToolWindowFactory : ToolWindowFactory {
|
||||
internal class LockReqsToolWindowFactory : ToolWindowFactory {
|
||||
override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) {
|
||||
val contentFactory = ContentFactory.getInstance()
|
||||
val panel = JewelComposePanel { LockReqsToolWindow(project) }
|
||||
val panel = compose { LockReqsToolWindow(project) }
|
||||
val content = contentFactory.createContent(panel, null, false)
|
||||
toolWindow.contentManager.addContent(content)
|
||||
}
|
||||
+1
-5
@@ -1,22 +1,18 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.jewel.foundation.theme.JewelTheme
|
||||
import org.jetbrains.jewel.ui.component.Icon
|
||||
import org.jetbrains.jewel.ui.component.Text
|
||||
import org.jetbrains.jewel.ui.icons.AllIconsKeys
|
||||
|
||||
|
||||
@Composable
|
||||
internal fun EmptyStateView() {
|
||||
Box(
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ExecutionPath
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ConstraintType
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ExecutionPath
|
||||
|
||||
@Immutable
|
||||
internal data class LockReqsViewState(
|
||||
+4
-12
@@ -1,20 +1,12 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.input.TextFieldValue
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.intellij.devkit.compose.threadingModelHelper.LockReqsService
|
||||
import com.intellij.devkit.threading.threadingModelHelper.LockReqsService
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.AnalysisResult
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
@@ -12,8 +12,8 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.LockRequirement
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ConstraintType
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.LockRequirement
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.RequirementReason
|
||||
import org.jetbrains.jewel.foundation.theme.JewelTheme
|
||||
import org.jetbrains.jewel.ui.component.Icon
|
||||
+2
-7
@@ -1,17 +1,12 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.intellij.psi.PsiMethod
|
||||
import org.jetbrains.jewel.foundation.theme.JewelTheme
|
||||
import org.jetbrains.jewel.ui.component.Icon
|
||||
import org.jetbrains.jewel.ui.component.Text
|
||||
+4
-17
@@ -1,18 +1,9 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.text.selection.SelectionContainer
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -25,16 +16,12 @@ import com.intellij.openapi.fileEditor.OpenFileDescriptor
|
||||
import com.intellij.openapi.ide.CopyPasteManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.util.ui.JBUI
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ExecutionPath
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ConstraintType
|
||||
import org.jetbrains.idea.devkit.threadingModelHelper.ExecutionPath
|
||||
import org.jetbrains.jewel.bridge.toComposeColor
|
||||
import org.jetbrains.jewel.foundation.theme.JewelTheme
|
||||
import org.jetbrains.jewel.ui.Orientation
|
||||
import org.jetbrains.jewel.ui.component.DefaultButton
|
||||
import org.jetbrains.jewel.ui.component.Divider
|
||||
import org.jetbrains.jewel.ui.component.Icon
|
||||
import org.jetbrains.jewel.ui.component.OutlinedButton
|
||||
import org.jetbrains.jewel.ui.component.Text
|
||||
import org.jetbrains.jewel.ui.component.*
|
||||
import org.jetbrains.jewel.ui.icons.AllIconsKeys
|
||||
import java.awt.datatransfer.StringSelection
|
||||
|
||||
+2
-7
@@ -1,13 +1,8 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.FlowRow
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
+2
-7
@@ -1,12 +1,7 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.compose.threadingModelHelper.ui
|
||||
package com.intellij.devkit.threading.threadingModelHelper.ui
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -38,6 +38,9 @@
|
||||
- name: lib/modules/intellij.devkit.scaffolding.jar
|
||||
contentModules:
|
||||
- name: intellij.devkit.scaffolding
|
||||
- name: lib/modules/intellij.devkit.threading.jar
|
||||
contentModules:
|
||||
- name: intellij.devkit.threading
|
||||
- name: lib/modules/intellij.platform.jewel.samples.showcase.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.jewel.samples.showcase
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
<module name="intellij.devkit.scaffolding"/>
|
||||
<module name="intellij.devkit.modules"/>
|
||||
<module name="intellij.devkit.mcp"/>
|
||||
<module name="intellij.devkit.threading"/>
|
||||
|
||||
<module name="intellij.platform.jewel.samples.showcase"/>
|
||||
</content>
|
||||
|
||||
Reference in New Issue
Block a user