Fix realization of LightClass methods by KtLightClassForSourceDeclaration

#KT-31022 Fixed
This commit is contained in:
Igor Yakovlev
2019-05-13 15:30:41 +03:00
parent 076f5e2ef9
commit e3ec501419
2 changed files with 30 additions and 17 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.asJava
import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiType
@@ -32,6 +33,21 @@ class LightClassFromTextTest : KotlinLightCodeInsightFixtureTestCase() {
assertEquals("O", classes[1].qualifiedName)
}
fun testLightClassImplementation() {
myFixture.configureByText("Dummy.kt", "") as KtFile
val classes = classesFromText("import something\nclass C;")
assertEquals(1, classes.size)
val classC = classes[0]
assertEquals("C", classC.qualifiedName)
assertEquals("class C", classC.text)
assertEquals(TextRange(17, 24), classC.textRange)
assertEquals(23, classC.textOffset)
assertEquals(17, classC.startOffsetInParent)
assertTrue(classC.isWritable)
}
fun testFileClass() {
myFixture.configureByText("A.kt", "fun f() {}") as KtFile
val classes = classesFromText("fun g() {}", fileName = "A.kt")