CIDR: Better detection when running in CIDR-based IDE

- Drop unnecessary bunch files for `KotlinFacetType` and `KotlinFacetTypeImpl`
- Use cached val `isRunningInCidrIde` to check if the code is running under CIDR
This commit is contained in:
Dmitriy Dolovov
2018-12-10 17:03:19 +07:00
parent 38efc7e823
commit 2c327564d5
8 changed files with 22 additions and 95 deletions
@@ -0,0 +1,12 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
@file:JvmName("CidrUtil")
package org.jetbrains.kotlin.idea.util
import com.intellij.util.PlatformUtils
val isRunningInCidrIde by lazy { PlatformUtils.isCidr() }
@@ -10,6 +10,7 @@ import com.intellij.facet.FacetTypeId
import com.intellij.facet.FacetTypeRegistry import com.intellij.facet.FacetTypeRegistry
import com.intellij.openapi.module.JavaModuleType import com.intellij.openapi.module.JavaModuleType
import com.intellij.openapi.module.ModuleType import com.intellij.openapi.module.ModuleType
import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
import org.jetbrains.kotlin.idea.KotlinIcons import org.jetbrains.kotlin.idea.KotlinIcons
import javax.swing.Icon import javax.swing.Icon
@@ -24,7 +25,7 @@ abstract class KotlinFacetType<C : KotlinFacetConfiguration> :
get() = FacetTypeRegistry.getInstance().findFacetType(TYPE_ID) get() = FacetTypeRegistry.getInstance().findFacetType(TYPE_ID)
} }
override fun isSuitableModuleType(moduleType: ModuleType<*>) = moduleType is JavaModuleType override fun isSuitableModuleType(moduleType: ModuleType<*>) = if (isRunningInCidrIde) true else moduleType is JavaModuleType
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
} }
@@ -1,30 +0,0 @@
/*
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.facet
import com.intellij.facet.FacetType
import com.intellij.facet.FacetTypeId
import com.intellij.facet.FacetTypeRegistry
import com.intellij.openapi.module.JavaModuleType
import com.intellij.openapi.module.ModuleType
import org.jetbrains.kotlin.idea.KotlinIcons
import javax.swing.Icon
abstract class KotlinFacetType<C : KotlinFacetConfiguration> :
FacetType<KotlinFacet, C>(TYPE_ID, ID, NAME) {
companion object {
const val ID = "kotlin-language"
val TYPE_ID = FacetTypeId<KotlinFacet>(ID)
const val NAME = "Kotlin"
val INSTANCE
get() = FacetTypeRegistry.getInstance().findFacetType(TYPE_ID)
}
override fun isSuitableModuleType(moduleType: ModuleType<*>) = true
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
}
@@ -24,8 +24,8 @@ import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.roots.LibraryOrderEntry import com.intellij.openapi.roots.LibraryOrderEntry
import com.intellij.openapi.util.ActionCallback import com.intellij.openapi.util.ActionCallback
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import com.intellij.util.PlatformUtils
import org.jetbrains.kotlin.idea.internal.showDecompiledCode import org.jetbrains.kotlin.idea.internal.showDecompiledCode
import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
class DecompileKotlinToJavaAction : AnAction() { class DecompileKotlinToJavaAction : AnAction() {
@@ -36,7 +36,7 @@ class DecompileKotlinToJavaAction : AnAction() {
} }
override fun update(e: AnActionEvent) { override fun update(e: AnActionEvent) {
if (PlatformUtils.isCidr()) { if (isRunningInCidrIde) {
e.presentation.isEnabledAndVisible = false e.presentation.isEnabledAndVisible = false
} else { } else {
e.presentation.isEnabled = getBinaryKotlinFile(e) != null e.presentation.isEnabled = getBinaryKotlinFile(e) != null
@@ -31,8 +31,8 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.MessageType import com.intellij.openapi.ui.MessageType
import com.intellij.openapi.ui.Messages import com.intellij.openapi.ui.Messages
import com.intellij.openapi.ui.ex.MessagesEx import com.intellij.openapi.ui.ex.MessagesEx
import com.intellij.openapi.util.Key
import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.popup.JBPopupFactory
import com.intellij.openapi.util.Key
import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.VirtualFileVisitor import com.intellij.openapi.vfs.VirtualFileVisitor
@@ -42,7 +42,6 @@ import com.intellij.psi.PsiErrorElement
import com.intellij.psi.PsiJavaFile import com.intellij.psi.PsiJavaFile
import com.intellij.psi.PsiManager import com.intellij.psi.PsiManager
import com.intellij.psi.util.PsiTreeUtil import com.intellij.psi.util.PsiTreeUtil
import com.intellij.util.PlatformUtils
import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
@@ -50,6 +49,7 @@ import org.jetbrains.kotlin.idea.refactoring.toPsiFile
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.idea.util.application.runReadAction
import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
import org.jetbrains.kotlin.j2k.ConverterSettings import org.jetbrains.kotlin.j2k.ConverterSettings
import org.jetbrains.kotlin.j2k.JavaToKotlinConverter import org.jetbrains.kotlin.j2k.JavaToKotlinConverter
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
@@ -203,7 +203,7 @@ class JavaToKotlinAction : AnAction() {
} }
override fun update(e: AnActionEvent) { override fun update(e: AnActionEvent) {
if (PlatformUtils.isCidr()) { if (isRunningInCidrIde) {
e.presentation.isEnabledAndVisible = false e.presentation.isEnabledAndVisible = false
} else { } else {
val virtualFiles = e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY) ?: return val virtualFiles = e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY) ?: return
@@ -9,7 +9,6 @@ import com.intellij.icons.AllIcons;
import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.Configurable;
import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.ConfigurationException;
@@ -20,7 +19,6 @@ import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.ListCellRendererWrapper; import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.ui.RawCommandLineEditor; import com.intellij.ui.RawCommandLineEditor;
import com.intellij.util.PlatformUtils;
import com.intellij.util.text.VersionComparatorUtil; import com.intellij.util.text.VersionComparatorUtil;
import com.intellij.util.ui.ThreeStateCheckBox; import com.intellij.util.ui.ThreeStateCheckBox;
import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.UIUtil;
@@ -41,6 +39,7 @@ import org.jetbrains.kotlin.idea.PluginStartupComponent;
import org.jetbrains.kotlin.idea.facet.DescriptionListCellRenderer; import org.jetbrains.kotlin.idea.facet.DescriptionListCellRenderer;
import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.facet.KotlinFacet;
import org.jetbrains.kotlin.idea.roots.RootUtilsKt; import org.jetbrains.kotlin.idea.roots.RootUtilsKt;
import org.jetbrains.kotlin.idea.util.CidrUtil;
import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt; import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt;
import org.jetbrains.kotlin.platform.IdePlatform; import org.jetbrains.kotlin.platform.IdePlatform;
import org.jetbrains.kotlin.platform.IdePlatformKind; import org.jetbrains.kotlin.platform.IdePlatformKind;
@@ -49,8 +48,6 @@ import org.jetbrains.kotlin.platform.impl.JvmIdePlatformUtil;
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind; import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind;
import javax.swing.*; import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*; import java.util.*;
public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Configurable.NoScroll{ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Configurable.NoScroll{
@@ -143,7 +140,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
fillLanguageAndAPIVersionList(); fillLanguageAndAPIVersionList();
fillCoroutineSupportList(); fillCoroutineSupportList();
if (PlatformUtils.isCidr()) { if (CidrUtil.isRunningInCidrIde()) {
keepAliveCheckBox.setVisible(false); keepAliveCheckBox.setVisible(false);
k2jvmPanel.setVisible(false); k2jvmPanel.setVisible(false);
k2jsPanel.setVisible(false); k2jsPanel.setVisible(false);
@@ -18,19 +18,11 @@ package org.jetbrains.kotlin.idea.facet
import com.intellij.facet.Facet import com.intellij.facet.Facet
import com.intellij.facet.ui.FacetEditor import com.intellij.facet.ui.FacetEditor
import com.intellij.openapi.module.JavaModuleType
import com.intellij.openapi.module.Module import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleType
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.KotlinIcons
import javax.swing.Icon
class KotlinFacetTypeImpl : KotlinFacetType<KotlinFacetConfiguration>() { class KotlinFacetTypeImpl : KotlinFacetType<KotlinFacetConfiguration>() {
override fun isSuitableModuleType(moduleType: ModuleType<*>) = moduleType is JavaModuleType
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
override fun createDefaultConfiguration() = KotlinFacetConfigurationImpl() override fun createDefaultConfiguration() = KotlinFacetConfigurationImpl()
override fun createFacet( override fun createFacet(
@@ -1,45 +0,0 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.idea.facet
import com.intellij.facet.Facet
import com.intellij.facet.ui.FacetEditor
import com.intellij.openapi.module.JavaModuleType
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleType
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.KotlinIcons
import javax.swing.Icon
class KotlinFacetTypeImpl : KotlinFacetType<KotlinFacetConfiguration>() {
override fun isSuitableModuleType(moduleType: ModuleType<*>) = true
override fun getIcon(): Icon = KotlinIcons.SMALL_LOGO
override fun createDefaultConfiguration() = KotlinFacetConfigurationImpl()
override fun createFacet(
module: Module,
name: String,
configuration: KotlinFacetConfiguration,
underlyingFacet: Facet<*>?
) = KotlinFacet(module, name, configuration)
override fun createMultipleConfigurationsEditor(project: Project, editors: Array<out FacetEditor>) =
MultipleKotlinFacetEditor(project, editors)
}