avoid index access in KtFile.getClasses() when the file isn't part of a multi-file class (helps with KT-10684)

This commit is contained in:
Dmitry Jemerov
2016-01-19 18:07:43 +01:00
parent ede4b61980
commit 4ab6436f93
4 changed files with 41 additions and 1 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.asJava
import com.intellij.testFramework.LightProjectDescriptor
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.test.KotlinLightProjectDescriptor
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
import org.jetbrains.kotlin.psi.KtFile
class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
@@ -38,4 +39,15 @@ class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
assertEquals(1, classes.size)
assertEquals("AKt", classes[0].qualifiedName)
}
fun testMultifileClass() {
val file = myFixture.configureByFiles("multifile1.kt", "multifile2.kt")[0] as KtFile
val aClass = file.classes.single()
assertEquals(1, aClass.findMethodsByName("foo", false).size)
assertEquals(1, aClass.findMethodsByName("bar", false).size)
}
override fun getTestDataPath(): String? {
return PluginTestCaseBase.getTestDataPathBase() + "/asJava/fileLightClass/"
}
}