diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.kt deleted file mode 100644 index 89d92746df4..00000000000 --- a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.kt +++ /dev/null @@ -1,38 +0,0 @@ -// FULL_JDK -// SCOPE_DUMP: B1:remove, B2:remove -// FILE: Java1.java -public interface Java1 { - Boolean remove(Integer element); -} - -// FILE: testRemove.kt -import java.util.* - -// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1. -class B1 : ArrayList(), Java1 { - override fun remove(element: Int?): Boolean { - return false - } -} - -// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1. -class B2 : ArrayList(), Java1 { -} - -// FILE: Java2.java -public interface Java2 { - Character get(Integer i); -} - -// FILE: MyString.java -public abstract class MyString implements CharSequence { - @Override - public char charAt(int i) { - return 'c'; - } -} - -// FILE: testRenamed.kt -abstract class B3 : MyString(), Java2 { - override fun get(i: Int?): Char? = null -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt index 5a8fea977a8..74dacf3ca6c 100644 --- a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // FULL_JDK // SCOPE_DUMP: B1:remove, B2:remove // FILE: Java1.java @@ -8,14 +9,12 @@ public interface Java1 { // FILE: testRemove.kt import java.util.* -// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1. -class B1 : ArrayList(), Java1 { - override fun remove(element: Int?): Boolean { +class B1 : ArrayList(), Java1 { + override fun remove(element: Int?): Boolean { return false } } -// CONFLICTING_JVM_DECLARATIONS in K1 is only reported with old backend, not with K1. class B2 : ArrayList(), Java1 { } @@ -35,4 +34,4 @@ public abstract class MyString implements CharSequence { // FILE: testRenamed.kt abstract class B3 : MyString(), Java2 { override fun get(i: Int?): Char? = null -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.overrides.txt b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.overrides.txt similarity index 99% rename from compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.overrides.txt rename to compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.overrides.txt index c87e7c46eab..4fc0f4fcb14 100644 --- a/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.fir.overrides.txt +++ b/compiler/testData/diagnostics/tests/j+k/collectionOverrides/intersectionWithMappedSignature.overrides.txt @@ -22,4 +22,3 @@ B2: [SubstitutionOverride(DeclarationSite)]: public abstract override fun remove(element: R|E|): R|kotlin/Boolean| from Substitution scope for [Use site scope of kotlin/collections/MutableCollection] for type kotlin/collections/MutableList [id: 11] [Library]: public abstract fun remove(element: R|E|): R|kotlin/Boolean| from Use site scope of kotlin/collections/MutableCollection [id: 8] [Enhancement]: public abstract fun remove(element: R|kotlin/Int!|): R|kotlin/Boolean!| from Java enhancement scope for /Java1 [id: 13] - diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithFlexibleTypeAndSubstitution4.kt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithFlexibleTypeAndSubstitution4.kt index 0ad3bb19a39..386c703848e 100644 --- a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithFlexibleTypeAndSubstitution4.kt +++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/triangleWithFlexibleTypeAndSubstitution4.kt @@ -21,7 +21,7 @@ open class C : A() interface D : B -class E : C(), D +class E : C(), D fun main() { E().foo(42) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/DiagnosticsDirectives.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/DiagnosticsDirectives.kt index 7aeb469c246..84dd4f01dd1 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/DiagnosticsDirectives.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/directives/DiagnosticsDirectives.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.test.directives -import org.jetbrains.kotlin.test.backend.handlers.JvmBackendDiagnosticsHandler import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_JAVAC import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer import org.jetbrains.kotlin.test.frontend.classic.handlers.ConstantValuesHandler @@ -54,14 +53,6 @@ object DiagnosticsDirectives : SimpleDirectivesContainer() { """.trimIndent() ) - val REPORT_JVM_DIAGNOSTICS_ON_FRONTEND by directive( - description = """ - Collect additional jvm specific diagnostics on frontend - Note that this directive is not needed if ${JvmBackendDiagnosticsHandler::class} - is enabled in test - """.trimIndent() - ) - val RENDER_PACKAGE by stringDirective( description = """ Dump declaration from packages listed in directive diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/ClassicDiagnosticsHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/ClassicDiagnosticsHandler.kt index 4c64362e151..477e9e74e25 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/ClassicDiagnosticsHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/ClassicDiagnosticsHandler.kt @@ -5,24 +5,17 @@ package org.jetbrains.kotlin.test.frontend.classic.handlers -import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.checkers.diagnostics.SyntaxErrorDiagnostic import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil import org.jetbrains.kotlin.checkers.utils.DiagnosticsRenderingConfiguration -import org.jetbrains.kotlin.cli.jvm.compiler.getJvmSignatureDiagnostics import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl -import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors -import org.jetbrains.kotlin.diagnostics.Severity -import org.jetbrains.kotlin.platform.jvm.isJvm -import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.AnalyzingUtils import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValueFactoryImpl import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.MARK_DYNAMIC_CALLS -import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives import org.jetbrains.kotlin.test.directives.model.DirectivesContainer import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact @@ -54,10 +47,6 @@ class ClassicDiagnosticsHandler(testServices: TestServices) : ClassicFrontendAna allDiagnostics = allDiagnostics.filter { it.factory.name != Errors.NEWER_VERSION_IN_SINCE_KOTLIN.name } } - if (allDiagnostics.none { it.severity == Severity.ERROR }) { - allDiagnostics = allDiagnostics + computeJvmSignatureDiagnostics(info) - } - val diagnosticsPerFile = allDiagnostics.groupBy { it.psiFile } val withNewInferenceModeEnabled = testServices.withNewInferenceModeEnabled() val configuration = reporter.createConfiguration(module) @@ -76,26 +65,6 @@ class ClassicDiagnosticsHandler(testServices: TestServices) : ClassicFrontendAna } } - private fun computeJvmSignatureDiagnostics(info: ClassicFrontendOutputArtifact): Set { - if (testServices.moduleStructure.modules.any { !it.targetPlatform.isJvm() }) return emptySet() - if (REPORT_JVM_DIAGNOSTICS_ON_FRONTEND !in testServices.moduleStructure.allDirectives) return emptySet() - val bindingContext = info.analysisResult.bindingContext - val jvmSignatureDiagnostics = HashSet() - for (ktFile in info.ktFiles.values) { - val declarations = PsiTreeUtil.findChildrenOfType(ktFile, KtDeclaration::class.java) - for (declaration in declarations) { - val diagnostics = getJvmSignatureDiagnostics( - declaration, - bindingContext.diagnostics, - ) ?: continue - - jvmSignatureDiagnostics.addAll(diagnostics.forElement(declaration)) - } - } - return jvmSignatureDiagnostics - } - - private fun processDebugInfoDiagnostics( configuration: DiagnosticsRenderingConfiguration, module: TestModule, diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticTest.kt index a7143516e57..60c8c20807b 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticTest.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.test.builders.classicFrontendStep import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.CHECK_COMPILE_TIME_VALUES import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS -import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.JDK_KIND import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_REFLECT @@ -56,7 +55,6 @@ abstract class AbstractDiagnosticTest : AbstractKotlinCompilerTest() { defaultDirectives { +USE_PSI_CLASS_FILES_READING - +REPORT_JVM_DIAGNOSTICS_ON_FRONTEND } enableMetaInfoHandler() diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractForeignAnnotationsTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractForeignAnnotationsTest.kt index d73076432a1..707459ea43d 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractForeignAnnotationsTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractForeignAnnotationsTest.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep import org.jetbrains.kotlin.test.builders.classicFrontendStep import org.jetbrains.kotlin.test.builders.configureClassicFrontendHandlersStep -import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.SKIP_TXT import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives.ANNOTATIONS_PATH import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.ALL_JAVA_AS_BINARY @@ -26,7 +25,6 @@ import org.jetbrains.kotlin.test.model.DependencyKind import org.jetbrains.kotlin.test.model.FrontendKinds import org.jetbrains.kotlin.test.preprocessors.ExternalAnnotationsSourcePreprocessor import org.jetbrains.kotlin.test.preprocessors.JspecifyMarksCleanupPreprocessor -import org.jetbrains.kotlin.test.services.SourceFilePreprocessor import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.configuration.* import org.jetbrains.kotlin.test.services.jvm.ForeignAnnotationAgainstCompiledJavaTestSuppressor @@ -48,7 +46,6 @@ abstract class AbstractForeignAnnotationsTestBase(private val kind: ForeignAnnot } defaultDirectives { - +REPORT_JVM_DIAGNOSTICS_ON_FRONTEND +WITH_FOREIGN_ANNOTATIONS if (kind.compiledJava) { +ALL_JAVA_AS_BINARY diff --git a/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeDiagnosticTest.kt b/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeDiagnosticTest.kt index 3e1c082110e..b09dd3577ff 100644 --- a/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeDiagnosticTest.kt +++ b/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeDiagnosticTest.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep import org.jetbrains.kotlin.test.builders.classicFrontendStep import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS -import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFailingTestSuppressor import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler @@ -32,7 +31,6 @@ abstract class AbstractParcelizeDiagnosticTest : AbstractKotlinCompilerTest() { defaultDirectives { +USE_PSI_CLASS_FILES_READING - +REPORT_JVM_DIAGNOSTICS_ON_FRONTEND DIAGNOSTICS with listOf("-UNUSED_PARAMETER", "-PRE_RELEASE_CLASS") }