From e6fd74f3688a8ca6d3aa782f0b875ad80bc3cb06 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 30 Dec 2020 12:04:34 +0300 Subject: [PATCH] [Test] Add ability to remove default directives in test configuration --- .../test/builders/RegisteredDirectivesBuilder.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 d40373422f9..7e91a3e4a0f 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 @@ -16,6 +16,10 @@ class RegisteredDirectivesBuilder { simpleDirectives += this } + operator fun SimpleDirective.unaryMinus() { + simpleDirectives.remove(this) + } + infix fun StringDirective.with(value: String) { with(listOf(value)) } @@ -24,6 +28,10 @@ class RegisteredDirectivesBuilder { stringDirectives.putWithExistsCheck(this, values) } + operator fun StringDirective.unaryMinus() { + stringDirectives.remove(this) + } + infix fun ValueDirective.with(value: T) { with(listOf(value)) } @@ -32,6 +40,10 @@ class RegisteredDirectivesBuilder { valueDirectives.putWithExistsCheck(this, values) } + operator fun ValueDirective<*>.unaryMinus() { + valueDirectives.remove(this) + } + private fun MutableMap.putWithExistsCheck(key: K, value: V) { val alreadyRegistered = put(key, value) if (alreadyRegistered != null) {