From d514a514e71ec20f6e2f08bf40b5ce651b926e5f Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Mon, 29 Dec 2025 10:43:59 +0100 Subject: [PATCH] [java-frontend] IDEA-366600 Get rid of additional "Java for JetBrains Client" plugin - don't use `Class.forName` GitOrigin-RevId: b5d22f3014fab7606f6364e77662104f84b040b0 --- java/java-impl/BUILD.bazel | 2 ++ java/java-impl/intellij.java.impl.iml | 2 +- .../com/intellij/openapi/module/JavaModuleType.java | 13 ++++++------- .../com/intellij/openapi/module/StdModuleTypes.java | 3 +-- java/testFramework/BUILD.bazel | 1 + java/testFramework/intellij.java.testFramework.iml | 2 +- 6 files changed, 12 insertions(+), 11 deletions(-) rename java/{java-impl => openapi}/src/com/intellij/openapi/module/JavaModuleType.java (87%) diff --git a/java/java-impl/BUILD.bazel b/java/java-impl/BUILD.bazel index 86dc55e02659..f23a0c2435bb 100644 --- a/java/java-impl/BUILD.bazel +++ b/java/java-impl/BUILD.bazel @@ -112,6 +112,7 @@ jvm_library( "//libraries/kotlinx/serialization/core", ], exports = [ + "//java/openapi:java", "//platform/lang-impl", "//java/java-psi-impl:psi-impl", "//java/java-frontback-impl:frontback-impl", @@ -226,6 +227,7 @@ jvm_library( "//libraries/kotlinx/serialization/core", ], exports = [ + "//java/openapi:java", "//platform/lang-impl", "//java/java-psi-impl:psi-impl", "//java/java-frontback-impl:frontback-impl", diff --git a/java/java-impl/intellij.java.impl.iml b/java/java-impl/intellij.java.impl.iml index bcfcf6949a65..e5b155bc15d1 100644 --- a/java/java-impl/intellij.java.impl.iml +++ b/java/java-impl/intellij.java.impl.iml @@ -51,7 +51,7 @@ - + diff --git a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java b/java/openapi/src/com/intellij/openapi/module/JavaModuleType.java similarity index 87% rename from java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java rename to java/openapi/src/com/intellij/openapi/module/JavaModuleType.java index dcf82a7e6ee4..c270d2ee7876 100644 --- a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java +++ b/java/openapi/src/com/intellij/openapi/module/JavaModuleType.java @@ -1,4 +1,4 @@ -// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// 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.openapi.module; import com.intellij.icons.AllIcons; @@ -9,16 +9,11 @@ import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.psi.CommonClassNames; import com.intellij.psi.JavaPsiFacade; -import org.jetbrains.annotations.Nls; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.*; import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes; import javax.swing.*; -import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME; - public class JavaModuleType extends ModuleType { public static ModuleType getModuleType() { return ModuleTypeManager.getInstance().findByID(JAVA_MODULE_ENTITY_TYPE_ID_NAME); @@ -27,10 +22,14 @@ public class JavaModuleType extends ModuleType { public static final String JAVA_GROUP = "Java"; public static final String BUILD_TOOLS_GROUP = "Build Tools"; + public static final String JAVA_MODULE_ENTITY_TYPE_ID_NAME = "JAVA_MODULE"; + + @ApiStatus.Internal public JavaModuleType() { this(JAVA_MODULE_ENTITY_TYPE_ID_NAME); } + @ApiStatus.Internal protected JavaModuleType(@NonNls String id) { super(id); } diff --git a/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java b/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java index 586c71ff5297..49e0a4c46dc4 100644 --- a/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java +++ b/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java @@ -18,8 +18,7 @@ public final class StdModuleTypes { static { try { - //noinspection unchecked - JAVA = (ModuleType)Class.forName("com.intellij.openapi.module.JavaModuleType").newInstance(); + JAVA = new JavaModuleType(); } catch (Exception e) { throw new IllegalArgumentException(e); diff --git a/java/testFramework/BUILD.bazel b/java/testFramework/BUILD.bazel index 7306bc0ee2f0..ee8db9d9335c 100644 --- a/java/testFramework/BUILD.bazel +++ b/java/testFramework/BUILD.bazel @@ -67,6 +67,7 @@ jvm_library( "//java/testFramework/backend", ], exports = [ + "//java/openapi:java", "//java/testFramework/shared", "//platform/util", "//platform/lang-api:lang", diff --git a/java/testFramework/intellij.java.testFramework.iml b/java/testFramework/intellij.java.testFramework.iml index 03557a896243..700213d0b223 100644 --- a/java/testFramework/intellij.java.testFramework.iml +++ b/java/testFramework/intellij.java.testFramework.iml @@ -8,7 +8,7 @@ - +