From 53b1a8bd37b5979ef3b2f43209b477d8fb22f9f8 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Thu, 2 Aug 2018 19:19:54 +0300 Subject: [PATCH] Remove hacks introduced for 172 platform compatibility --- .idea/inspectionProfiles/idea_default.xml | 11 -------- .../org/jetbrains/kotlin/config/JvmTarget.kt | 6 ++--- .../KotlinCommonCodeStyleSettings.java | 4 +-- .../codeInsightTestFixtureImpl.kt | 16 ------------ .../KtLightClassForDecompiledDeclaration.kt | 3 +-- .../declarationsSearch/overridersSearch.kt | 6 ++--- .../kotlin/idea/util/clsClassImplUtil.kt | 15 ----------- .../idea/core/util/compat/psi/javaPsiUtil.kt | 18 ------------- .../KotlinFormatterUsageCollector.kt | 4 +-- ...KotlinInlayParameterHintsUsageCollector.kt | 3 +-- .../idea/util/compat/statistic/statistic.kt | 26 ------------------- .../introduce/AbstractExtractionTest.kt | 3 +-- .../scratch/AbstractScratchRunActionTest.kt | 3 +-- 13 files changed, 13 insertions(+), 105 deletions(-) delete mode 100644 idea/ide-common/src/org/jetbrains/kotlin/compatibility/codeInsightTestFixtureImpl.kt delete mode 100644 idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/clsClassImplUtil.kt delete mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt delete mode 100644 idea/src/org/jetbrains/kotlin/idea/util/compat/statistic/statistic.kt diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml index a581cf10910..3fdb0646e31 100644 --- a/.idea/inspectionProfiles/idea_default.xml +++ b/.idea/inspectionProfiles/idea_default.xml @@ -101,22 +101,11 @@ diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/config/JvmTarget.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/config/JvmTarget.kt index 7a245015e57..e9c88fdf31c 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/config/JvmTarget.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/config/JvmTarget.kt @@ -29,8 +29,8 @@ enum class JvmTarget(override val description: String) : TargetPlatformVersion { JVM_1_6 -> Opcodes.V1_6 JVM_1_8 -> when { - java.lang.Boolean.valueOf(System.getProperty("kotlin.test.substitute.bytecode.1.8.to.10")) -> Opcodes.V1_9 + 1 - java.lang.Boolean.valueOf(System.getProperty("kotlin.test.substitute.bytecode.1.8.to.1.9")) -> Opcodes.V1_9 + java.lang.Boolean.valueOf(System.getProperty("kotlin.test.substitute.bytecode.1.8.to.10")) -> Opcodes.V9 + 1 + java.lang.Boolean.valueOf(System.getProperty("kotlin.test.substitute.bytecode.1.8.to.1.9")) -> Opcodes.V9 else -> Opcodes.V1_8 } } @@ -48,7 +48,7 @@ enum class JvmTarget(override val description: String) : TargetPlatformVersion { val platformDescription = values().find { it.bytecodeVersion == bytecodeVersion }?.description ?: when (bytecodeVersion) { Opcodes.V1_7 -> "1.7" - Opcodes.V1_9 -> "1.9" + Opcodes.V9 -> "1.9" else -> null } diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java index 96905be6c85..3466b4a5b0e 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java @@ -96,7 +96,7 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { } //noinspection deprecation DefaultJDOMExternalizer.writeExternal(this, element, new SupportedFieldsDiffFilter(this, supportedFields, defaultSettings)); - @SuppressWarnings("IncompatibleAPI") List softMargins = getSoftMargins(); + List softMargins = getSoftMargins(); serializeInto(softMargins, element); IndentOptions myIndentOptions = getIndentOptions(); @@ -154,7 +154,6 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { if (setRootSettingsMethod != null) { // Method was introduced in 173 setRootSettingsMethod.setAccessible(true); - //noinspection IncompatibleAPI setRootSettingsMethod.invoke(commonSettings, getSoftMargins()); } } @@ -176,7 +175,6 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { } CommonCodeStyleSettings other = (CommonCodeStyleSettings) obj; - //noinspection IncompatibleAPI if (!getSoftMargins().equals(other.getSoftMargins())) { return false; } diff --git a/idea/ide-common/src/org/jetbrains/kotlin/compatibility/codeInsightTestFixtureImpl.kt b/idea/ide-common/src/org/jetbrains/kotlin/compatibility/codeInsightTestFixtureImpl.kt deleted file mode 100644 index 15014ed3628..00000000000 --- a/idea/ide-common/src/org/jetbrains/kotlin/compatibility/codeInsightTestFixtureImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * 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. - */ - -package org.jetbrains.kotlin.compatibility - -import com.intellij.openapi.Disposable -import com.intellij.testFramework.fixtures.CodeInsightTestFixture - -/** - * Method was introduced in 173 idea. Should be dropped after abandoning 172 branch. - * BUNCH: 173 - */ -@Suppress("IncompatibleAPI") -val CodeInsightTestFixture.projectDisposableEx: Disposable get() = projectDisposable \ No newline at end of file diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/KtLightClassForDecompiledDeclaration.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/KtLightClassForDecompiledDeclaration.kt index df6232badbc..785aa492b7c 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/KtLightClassForDecompiledDeclaration.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/lightClasses/KtLightClassForDecompiledDeclaration.kt @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClassBase import org.jetbrains.kotlin.asJava.elements.KtLightFieldImpl import org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl import org.jetbrains.kotlin.idea.decompiler.classFile.KtClsFile -import org.jetbrains.kotlin.idea.util.qualifiedNameEx import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtClassOrObject @@ -34,7 +33,7 @@ class KtLightClassForDecompiledDeclaration( override val kotlinOrigin: KtClassOrObject?, private val file: KtClsFile ) : KtLightClassBase(clsDelegate.manager) { - val fqName = kotlinOrigin?.fqName ?: FqName(clsDelegate.qualifiedNameEx.orEmpty()) + val fqName = kotlinOrigin?.fqName ?: FqName(clsDelegate.qualifiedName.orEmpty()) override fun copy() = this diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt index 205aaf963b8..7e95fd73dff 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt @@ -12,6 +12,7 @@ import com.intellij.psi.search.searches.DirectClassInheritorsSearch import com.intellij.psi.search.searches.FunctionalExpressionSearch import com.intellij.psi.search.searches.OverridingMethodsSearch import com.intellij.psi.util.MethodSignatureUtil +import com.intellij.psi.util.PsiUtil import com.intellij.psi.util.TypeConversionUtil import com.intellij.util.EmptyQuery import com.intellij.util.MergeQuery @@ -30,7 +31,6 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor import org.jetbrains.kotlin.idea.core.getDeepestSuperDeclarations import org.jetbrains.kotlin.idea.core.isOverridable -import org.jetbrains.kotlin.idea.core.util.compat.psi.canBeOverridden import org.jetbrains.kotlin.idea.search.allScope import org.jetbrains.kotlin.idea.search.excludeKotlinSources import org.jetbrains.kotlin.idea.util.application.runReadAction @@ -42,7 +42,7 @@ import org.jetbrains.kotlin.util.findCallableMemberBySignature import java.util.* fun PsiElement.isOverridableElement(): Boolean = when (this) { - is PsiMethod -> canBeOverridden(this) + is PsiMethod -> PsiUtil.canBeOverridden(this) is KtDeclaration -> isOverridable() else -> false } @@ -104,7 +104,7 @@ object KotlinPsiMethodOverridersSearch : HierarchySearch(PsiMethodOve object PsiMethodOverridingHierarchyTraverser: HierarchyTraverser { override fun nextElements(current: PsiMethod): Iterable = KotlinPsiMethodOverridersSearch.searchDirectOverriders(current) - override fun shouldDescend(element: PsiMethod): Boolean = canBeOverridden(element) + override fun shouldDescend(element: PsiMethod): Boolean = PsiUtil.canBeOverridden(element) } fun PsiElement.toPossiblyFakeLightMethods(): List { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/clsClassImplUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/clsClassImplUtil.kt deleted file mode 100644 index 0571d4a65dc..00000000000 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/clsClassImplUtil.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * 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. - */ - -package org.jetbrains.kotlin.idea.util - -import com.intellij.psi.impl.compiled.ClsClassImpl - -/** - * Nullable wrapper for qualifiedName. - * BUNCH: 173 - */ -@Suppress("IncompatibleAPI") -val ClsClassImpl.qualifiedNameEx: String? get() = qualifiedName \ No newline at end of file diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt deleted file mode 100644 index 16e87b60013..00000000000 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/compat/psi/javaPsiUtil.kt +++ /dev/null @@ -1,18 +0,0 @@ -/* - * 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. - */ - -package org.jetbrains.kotlin.idea.core.util.compat.psi - -import com.intellij.psi.PsiMethod -import com.intellij.psi.util.PsiUtil - -/** - * Method is absent in 172. - * BUNCH: 173 - */ -@Suppress("IncompatibleAPI") -fun canBeOverridden(method: PsiMethod): Boolean { - return PsiUtil.canBeOverridden(method) -} \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt index 7f7723d6feb..e85390cebac 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinFormatterUsageCollector.kt @@ -5,13 +5,13 @@ package org.jetbrains.kotlin.idea.formatter +import com.intellij.internal.statistic.AbstractProjectsUsagesCollector import com.intellij.internal.statistic.beans.GroupDescriptor import com.intellij.internal.statistic.beans.UsageDescriptor +import com.intellij.internal.statistic.utils.getEnumUsage import com.intellij.openapi.project.Project import com.intellij.psi.codeStyle.CodeStyleSettingsManager import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings -import org.jetbrains.kotlin.idea.util.compat.statistic.AbstractProjectsUsagesCollector -import org.jetbrains.kotlin.idea.util.compat.statistic.getEnumUsage class KotlinFormatterUsageCollector : AbstractProjectsUsagesCollector() { override fun getGroupId(): GroupDescriptor = GroupDescriptor.create(GROUP_ID) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsUsageCollector.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsUsageCollector.kt index b84b2c8226e..2ef105f86b2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsUsageCollector.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsUsageCollector.kt @@ -10,7 +10,6 @@ import com.intellij.internal.statistic.UsagesCollector import com.intellij.internal.statistic.beans.GroupDescriptor import com.intellij.internal.statistic.beans.UsageDescriptor import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.idea.util.compat.statistic.getBooleanUsage class KotlinInlayParameterHintsUsageCollector : UsagesCollector() { override fun getGroupId(): GroupDescriptor = GroupDescriptor.create(GROUP_ID) @@ -19,7 +18,7 @@ class KotlinInlayParameterHintsUsageCollector : UsagesCollector() { val provider = InlayParameterHintsExtension.forLanguage(KotlinLanguage.INSTANCE) ?: return emptySet() return provider.supportedOptions.mapTo(LinkedHashSet()) { - getBooleanUsage(it.id, it.get()) + com.intellij.internal.statistic.utils.getBooleanUsage(it.id, it.get()) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/util/compat/statistic/statistic.kt b/idea/src/org/jetbrains/kotlin/idea/util/compat/statistic/statistic.kt deleted file mode 100644 index dc69832dd25..00000000000 --- a/idea/src/org/jetbrains/kotlin/idea/util/compat/statistic/statistic.kt +++ /dev/null @@ -1,26 +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. - */ - -@file:Suppress("IncompatibleAPI") - -package org.jetbrains.kotlin.idea.util.compat.statistic - -/** - * Should be dropped after abandoning 172. - * BUNCH: 173 - */ -typealias AbstractProjectsUsagesCollector = com.intellij.internal.statistic.AbstractProjectsUsagesCollector - -/** - * Should be dropped after abandoning 172. - * BUNCH: 173 - */ -fun getEnumUsage(key: String, value: Enum<*>?) = com.intellij.internal.statistic.utils.getEnumUsage(key, value) - -/** - * Should be dropped after abandoning 172. - * BUNCH: 173 - */ -fun getBooleanUsage(key: String, value: Boolean) = com.intellij.internal.statistic.utils.getBooleanUsage(key, value) diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt index 812232b3e47..3635db73360 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt @@ -40,7 +40,6 @@ import com.intellij.refactoring.util.occurrences.ExpressionOccurrenceManager import com.intellij.testFramework.fixtures.CodeInsightTestFixture import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase -import org.jetbrains.kotlin.compatibility.projectDisposableEx import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.refactoring.checkConflictsInteractively @@ -334,7 +333,7 @@ abstract class AbstractExtractionTest : KotlinLightCodeInsightFixtureTestCase() protected fun doTest(path: String, checkAdditionalAfterdata: Boolean = false, action: (PsiFile) -> Unit) { val mainFile = File(path) - PluginTestCaseBase.addJdk(myFixture.projectDisposableEx, PluginTestCaseBase::mockJdk) + PluginTestCaseBase.addJdk(myFixture.projectDisposable, PluginTestCaseBase::mockJdk) fixture.testDataPath = "${KotlinTestUtils.getHomeDirectory()}/${mainFile.parent}" diff --git a/idea/tests/org/jetbrains/kotlin/idea/scratch/AbstractScratchRunActionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/scratch/AbstractScratchRunActionTest.kt index 108baa9004d..21e555ef95e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/scratch/AbstractScratchRunActionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/scratch/AbstractScratchRunActionTest.kt @@ -32,7 +32,6 @@ import com.intellij.testFramework.MapDataContext import com.intellij.testFramework.PsiTestUtil import com.intellij.testFramework.TestActionEvent import com.intellij.util.ui.UIUtil -import org.jetbrains.kotlin.compatibility.projectDisposableEx import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.scratch.actions.RunScratchAction import org.jetbrains.kotlin.idea.scratch.output.InlayScratchFileRenderer @@ -165,7 +164,7 @@ abstract class AbstractScratchRunActionTest : FileEditorManagerTestCase() { override fun setUp() { super.setUp() - PluginTestCaseBase.addJdk(myFixture.projectDisposableEx) { PluginTestCaseBase.fullJdk() } + PluginTestCaseBase.addJdk(myFixture.projectDisposable) { PluginTestCaseBase.fullJdk() } } override fun tearDown() {