diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/ClsStubConsistencyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/ClsStubConsistencyTest.kt index 882c9d2965f..54178930747 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/ClsStubConsistencyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/ClsStubConsistencyTest.kt @@ -25,12 +25,8 @@ import org.jetbrains.kotlin.name.FqName import kotlin.properties.Delegates public class ClsStubConsistencyTest : StubConsistencyBaseTest() { - - override val packages: List = listOf(FqName("kotlin")) - - override val virtualFileFinder: VirtualFileFinder by Delegates.lazy() { - JvmVirtualFileFinder.SERVICE.getInstance(getProject()) - } + override fun getVirtualFileFinder(): VirtualFileFinder = JvmVirtualFileFinder.SERVICE.getInstance(getProject()) + override fun getPackages(): List = listOf(FqName("kotlin")) override fun createStubBuilder() = KotlinClsStubBuilder() diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinJavaScriptStubConsistencyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinJavaScriptStubConsistencyTest.kt index 714f77616c4..b4fac01482e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinJavaScriptStubConsistencyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinJavaScriptStubConsistencyTest.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.decompiler.stubBuilder +import com.intellij.openapi.Disposable import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledTextFromJsMetadata import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager @@ -26,19 +27,17 @@ import org.jetbrains.kotlin.name.FqName import kotlin.properties.Delegates public class KotlinJavaScriptStubConsistencyTest : StubConsistencyBaseTest() { - - override val packages: List = listOf( - "java.util", "jquery", "jquery.ui", "kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js" - ).map { FqName(it) } - override fun setUp() { super.setUp() KotlinJavaScriptLibraryManager.getInstance(getProject()).syncUpdateProjectLibrary() } - override val virtualFileFinder: VirtualFileFinder by Delegates.lazy() { + override fun getPackages(): List = listOf( + "java.util", "jquery", "jquery.ui", + "kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js").map { FqName(it) } + + override fun getVirtualFileFinder(): VirtualFileFinder = JsVirtualFileFinder.SERVICE.getInstance(getProject()) - } override fun createStubBuilder() = KotlinJavaScriptStubBuilder() diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/StubConsistencyBaseTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/StubConsistencyBaseTest.kt index fef579eab6c..ce495ee3eb0 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/StubConsistencyBaseTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/StubConsistencyBaseTest.kt @@ -29,21 +29,20 @@ import org.junit.Assert public abstract class StubConsistencyBaseTest : JetLightCodeInsightFixtureTestCase() { - protected abstract val packages: List - - protected abstract val virtualFileFinder: VirtualFileFinder + protected abstract fun getPackages(): List + protected abstract fun getVirtualFileFinder(): VirtualFileFinder protected abstract fun createStubBuilder(): ClsStubBuilder protected abstract fun getDecompiledText(packageFile: VirtualFile): String public fun testConsistency() { - packages.forEach { doTest(it) } + getPackages().forEach { doTest(it) } } private fun doTest(packageFqName: FqName) { val project = getProject() - val packageFile = virtualFileFinder.findVirtualFileWithHeader(PackageClassUtils.getPackageClassId(packageFqName))!! + val packageFile = getVirtualFileFinder().findVirtualFileWithHeader(PackageClassUtils.getPackageClassId(packageFqName))!! val decompiledText = getDecompiledText(packageFile) val fileWithDecompiledText = JetPsiFactory(project).createFile(decompiledText) val stubTreeFromDecompiledText = JetFileStubBuilder().buildStubTree(fileWithDecompiledText) diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt index f8667e3ef5f..babe45bc035 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt @@ -29,13 +29,12 @@ import kotlin.properties.Delegates public class DecompiledTextConsistencyTest : TextConsistencyBaseTest() { - override val packages: List = listOf(FqName("kotlin")) + override fun getPackages(): List = listOf(FqName("kotlin")) - override val topLevelMembers: Map = mapOf("kotlin" to "linkedListOf") + override fun getTopLevelMembers(): Map = mapOf("kotlin" to "linkedListOf") - override val virtualFileFinder: VirtualFileFinder by Delegates.lazy() { + override fun getVirtualFileFinder(): VirtualFileFinder = JvmVirtualFileFinder.SERVICE.getInstance(getProject()) - } override fun getDecompiledText(packageFile: VirtualFile, resolver: ResolverForDecompiler?): String = (resolver?.let { buildDecompiledText(packageFile, it) } ?: buildDecompiledText(packageFile)).text diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDecompiledTextConsistencyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDecompiledTextConsistencyTest.kt index 20b3e408377..eeb1f24327a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDecompiledTextConsistencyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDecompiledTextConsistencyTest.kt @@ -30,19 +30,17 @@ import org.jetbrains.kotlin.test.JetTestUtils import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils import org.jetbrains.kotlin.utils.PathUtil import org.jetbrains.kotlin.utils.sure +import java.util.* import kotlin.properties.Delegates public class KotlinJavaScriptDecompiledTextConsistencyTest : TextConsistencyBaseTest() { - - override val packages: List = listOf( + override fun getPackages(): List = listOf( "java.util", "jquery", "jquery.ui", "kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js" ).map { FqName(it) } - override val topLevelMembers: Map = mapOf("kotlin" to "intArrayOf") + override fun getTopLevelMembers(): Map = mapOf("kotlin" to "intArrayOf") - override val virtualFileFinder: VirtualFileFinder by Delegates.lazy() { - JsVirtualFileFinder.SERVICE.getInstance(getProject()) - } + override fun getVirtualFileFinder(): VirtualFileFinder = JsVirtualFileFinder.SERVICE.getInstance(getProject()) override fun setUp() { super.setUp() diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/TextConsistencyBaseTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/TextConsistencyBaseTest.kt index bbffc933b16..a9f202f4dc6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/TextConsistencyBaseTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/TextConsistencyBaseTest.kt @@ -34,27 +34,27 @@ import org.junit.Assert public abstract class TextConsistencyBaseTest : JetLightCodeInsightFixtureTestCase() { - protected abstract val packages: List + protected abstract fun getPackages(): List - protected abstract val topLevelMembers: Map + protected abstract fun getTopLevelMembers(): Map - protected abstract val virtualFileFinder: VirtualFileFinder + protected abstract fun getVirtualFileFinder(): VirtualFileFinder protected abstract fun getDecompiledText(packageFile: VirtualFile, resolver: ResolverForDecompiler? = null): String protected abstract fun getModuleDescriptor(): ModuleDescriptor public fun testConsistency() { - packages.forEach { doTest(it) } + getPackages().forEach { doTest(it) } } private fun doTest(packageFqName: FqName) { - val packageFile = virtualFileFinder.findVirtualFileWithHeader(PackageClassUtils.getPackageClassId(packageFqName))!! + val packageFile = getVirtualFileFinder().findVirtualFileWithHeader(PackageClassUtils.getPackageClassId(packageFqName))!! val projectBasedText = getDecompiledText(packageFile, ResolverForDecompilerImpl(getModuleDescriptor())) val deserializedText = getDecompiledText(packageFile) Assert.assertEquals(projectBasedText, deserializedText) // sanity checks - topLevelMembers[packageFqName.asString()]?.let { + getTopLevelMembers()[packageFqName.asString()]?.let { Assert.assertTrue(projectBasedText.contains(it)) } Assert.assertFalse(projectBasedText.contains("ERROR"))