diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/AbstractGradleMultiplatformWizardTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/AbstractGradleMultiplatformWizardTest.kt index 19334399b6a..aece78e0ca9 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/AbstractGradleMultiplatformWizardTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/AbstractGradleMultiplatformWizardTest.kt @@ -93,7 +93,7 @@ abstract class AbstractGradleMultiplatformWizardTest : ProjectWizardTestCase { + return Logger.getFactory().javaClass +} \ No newline at end of file diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/loggerCompat.kt.182 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/loggerCompat.kt.182 new file mode 100644 index 00000000000..d75e7edc596 --- /dev/null +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/loggerCompat.kt.182 @@ -0,0 +1,22 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.gradle + +import com.intellij.openapi.diagnostic.Logger +import java.lang.reflect.Modifier + +// BUNCH: 182 +internal fun getLoggerFactory(): Class { + val factoryField = Logger::class.java.declaredFields.single { Modifier.isStatic(it.modifiers) && !Modifier.isFinal(it.modifiers) } + val oldIsAccessible = factoryField.isAccessible + try { + factoryField.isAccessible = true + @Suppress("UNCHECKED_CAST") + return factoryField.get(null).javaClass as Class + } finally { + factoryField.isAccessible = oldIsAccessible + } +} \ No newline at end of file