diff --git a/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt b/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt index 9078d1a6a8a..5e2bbd2d7da 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt @@ -46,7 +46,7 @@ fun findScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefin if (file.isDirectory || file.extension == KotlinFileType.EXTENSION || file.extension == JavaClassFileType.INSTANCE.defaultExtension || - FileTypeRegistry.getInstance().getFileTypeByFileName(file.name) != KotlinFileType.INSTANCE + !isKotlinFileType(file) ) { return null } @@ -67,6 +67,12 @@ fun findScriptDefinition(file: VirtualFile, project: Project): KotlinScriptDefin return scriptDefinitionProvider.findScriptDefinition(file.name) } +private fun isKotlinFileType(file: VirtualFile): Boolean { + val typeRegistry = FileTypeRegistry.getInstance() + return typeRegistry.getFileTypeByFile(file) == KotlinFileType.INSTANCE || + typeRegistry.getFileTypeByFileName(file.name) == KotlinFileType.INSTANCE +} + abstract class LazyScriptDefinitionProvider : ScriptDefinitionProvider { protected val lock = ReentrantReadWriteLock()