From 12b28284994cf9ee5999298304dae5f2c6973558 Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Thu, 17 Feb 2022 18:09:11 +0300 Subject: [PATCH] Remove diagnostic check from second module in SplittingModuleTransformerForBoxTests --- .../builders/RegisteredDirectivesBuilder.kt | 23 +++++++++++++++---- .../SplittingModuleTransformerForBoxTests.kt | 6 ++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt index ad65903cc4b..ab9ae680a6d 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt @@ -7,10 +7,25 @@ package org.jetbrains.kotlin.test.builders import org.jetbrains.kotlin.test.directives.model.* -class RegisteredDirectivesBuilder { - private val simpleDirectives: MutableList = mutableListOf() - private val stringDirectives: MutableMap> = mutableMapOf() - private val valueDirectives: MutableMap, List> = mutableMapOf() +class RegisteredDirectivesBuilder private constructor( + private val simpleDirectives: MutableList, + private val stringDirectives: MutableMap>, + private val valueDirectives: MutableMap, List> +) { + constructor() : this(mutableListOf(), mutableMapOf(), mutableMapOf()) + + constructor(old: RegisteredDirectives) : this() { + for (directive in old) { + when (directive) { + is SimpleDirective -> +directive + is StringDirective -> directive with old[directive] + is ValueDirective<*> -> { + // no way to call with + valueDirectives[directive] = old[directive] + } + } + } + } operator fun SimpleDirective.unaryPlus() { simpleDirectives += this diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/SplittingModuleTransformerForBoxTests.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/SplittingModuleTransformerForBoxTests.kt index 72fcf59371a..d7f06692385 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/SplittingModuleTransformerForBoxTests.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/SplittingModuleTransformerForBoxTests.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.test.services import org.jetbrains.kotlin.test.TestInfrastructureInternals +import org.jetbrains.kotlin.test.builders.RegisteredDirectivesBuilder +import org.jetbrains.kotlin.test.directives.CodegenTestDirectives import org.jetbrains.kotlin.test.model.DependencyDescription import org.jetbrains.kotlin.test.model.DependencyKind import org.jetbrains.kotlin.test.model.DependencyRelation @@ -52,7 +54,9 @@ class SplittingModuleTransformerForBoxTests : ModuleStructureTransformer() { module.binaryKind, files = listOf(secondModuleFile) + additionalFiles, allDependencies = listOf(DependencyDescription("lib", DependencyKind.Binary, DependencyRelation.FriendDependency)), - module.directives, + RegisteredDirectivesBuilder(module.directives).apply { + -CodegenTestDirectives.IGNORE_FIR_DIAGNOSTICS + }.build(), module.languageVersionSettings ) return TestModuleStructureImpl(listOf(firstModule, secondModule), moduleStructure.originalTestDataFiles)