KotlinLanguageInjector: only run for project or library source

This commit is contained in:
Pavel V. Talanov
2016-08-04 19:11:50 +03:00
parent e6d76a9b71
commit b4cb4f9191
@@ -29,6 +29,7 @@ import org.intellij.plugins.intelliLang.inject.InjectorUtils
import org.intellij.plugins.intelliLang.inject.config.BaseInjection
import org.intellij.plugins.intelliLang.inject.java.JavaLanguageInjectionSupport
import org.intellij.plugins.intelliLang.util.AnnotationUtilEx
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.idea.util.findAnnotation
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
@@ -43,6 +44,8 @@ class KotlinLanguageInjector : LanguageInjector {
if (!host.isValidHost) return
val ktHost: KtElement = host as? KtElement ?: return
if (!ProjectRootsUtil.isInProjectOrLibSource(ktHost)) return
val injectionInfo = findInjectionInfo(host) ?: return
val language = InjectorUtils.getLanguageByString(injectionInfo.languageId) ?: return