Don't add script files to facade indices
#KT-12445 Fixed
This commit is contained in:
@@ -50,6 +50,8 @@ public class IdeStubIndexService extends StubIndexService {
|
||||
|
||||
sink.occurrence(KotlinExactPackagesIndex.getInstance().getKey(), packageFqName.asString());
|
||||
|
||||
if (stub.isScript()) return;
|
||||
|
||||
FqName facadeFqName = ((KotlinFileStubForIde) stub).getFacadeFqName();
|
||||
if (facadeFqName != null) {
|
||||
sink.occurrence(KotlinFileFacadeFqNameIndex.INSTANCE.getKey(), facadeFqName.asString());
|
||||
|
||||
@@ -16,10 +16,12 @@
|
||||
|
||||
package org.jetbrains.kotlin.asJava
|
||||
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
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.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
|
||||
class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
@@ -53,6 +55,13 @@ class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
assertEquals(0, aClass.getMethods().size)
|
||||
}
|
||||
|
||||
fun testNoFacadeForScript() {
|
||||
val file = myFixture.configureByText("foo.kts", "package foo") as KtFile
|
||||
assertEquals(0, file.classes.size)
|
||||
val facadeFiles = LightClassGenerationSupport.getInstance(project).findFilesForFacade(FqName("foo.FooKt"), GlobalSearchScope.allScope(project))
|
||||
assertEquals(0, facadeFiles.size)
|
||||
}
|
||||
|
||||
override fun getTestDataPath(): String? {
|
||||
return PluginTestCaseBase.getTestDataPathBase() + "/asJava/fileLightClass/"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user