Support forcing usage of ultra-light classes in tests

This commit is contained in:
Denis Zharkov
2018-10-30 16:00:02 +03:00
parent 03e937ddfa
commit 5f45ab1e2b
3 changed files with 23 additions and 3 deletions
@@ -5,7 +5,10 @@
package org.jetbrains.kotlin.idea.perf
import com.intellij.openapi.Disposable
import com.intellij.openapi.util.Disposer
import com.intellij.psi.*
import com.intellij.testFramework.UsefulTestCase
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
@@ -14,6 +17,13 @@ import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtFile
import org.junit.Assert
fun UsefulTestCase.forceUsingUltraLightClassesForTest() {
KtUltraLightClass.forceUsingUltraLightClasses = true
Disposer.register(testRootDisposable, Disposable {
KtUltraLightClass.forceUsingUltraLightClasses = false
})
}
@TestOnly
object UltraLightChecker {
fun checkClassEquivalence(file: KtFile) {
@@ -122,4 +132,4 @@ object UltraLightChecker {
"}"
}
}
}