Check scriptDefinition expected location for scripts when use ProjectRootUtil.isInContent

This commit is contained in:
Natalia Selezneva
2018-08-08 10:29:09 +03:00
parent 074aa47dc0
commit 43027d0581
7 changed files with 9 additions and 9 deletions
@@ -71,8 +71,7 @@ val PsiReference.unwrappedTargets: Set<PsiElement>
fun PsiReference.canBeReferenceTo(candidateTarget: PsiElement): Boolean { fun PsiReference.canBeReferenceTo(candidateTarget: PsiElement): Boolean {
// optimization // optimization
return element.containingFile == candidateTarget.containingFile return element.containingFile == candidateTarget.containingFile
|| ProjectRootsUtil.isInProjectOrLibSource(element) || ProjectRootsUtil.isInProjectOrLibSource(element, includeScriptsOutsideSourceRoots = true)
|| ScratchUtil.isScratch(element.containingFile.virtualFile)
} }
fun PsiReference.matchesTarget(candidateTarget: PsiElement): Boolean { fun PsiReference.matchesTarget(candidateTarget: PsiElement): Boolean {
@@ -460,7 +460,7 @@ fun PsiElement.canRefactor(): Boolean {
this is KtElement || this is KtElement ||
this is PsiMember && language == JavaLanguage.INSTANCE || this is PsiMember && language == JavaLanguage.INSTANCE ||
this is PsiDirectory -> this is PsiDirectory ->
ProjectRootsUtil.isInProjectSource(this) || ((containingFile as? KtFile)?.isScript() ?: false) ProjectRootsUtil.isInProjectSource(this, includeScriptsOutsideSourceRoots = true)
else -> else ->
false false
} }
@@ -460,7 +460,7 @@ fun PsiElement.canRefactor(): Boolean {
this is KtElement || this is KtElement ||
this is PsiMember && language == JavaLanguage.INSTANCE || this is PsiMember && language == JavaLanguage.INSTANCE ||
this is PsiDirectory -> this is PsiDirectory ->
ProjectRootsUtil.isInProjectSource(this) || ((containingFile as? KtFile)?.isScript() ?: false) ProjectRootsUtil.isInProjectSource(this, includeScriptsOutsideSourceRoots = true)
else -> else ->
false false
} }
@@ -38,7 +38,8 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
override fun isValid() = file.isValid override fun isValid() = file.isValid
} }
override fun canProcessElement(element: PsiElement) = element is KtFile && ProjectRootsUtil.isInProjectSource(element) override fun canProcessElement(element: PsiElement) =
element is KtFile && ProjectRootsUtil.isInProjectSource(element, includeScriptsOutsideSourceRoots = true)
override fun prepareRenaming(element: PsiElement, override fun prepareRenaming(element: PsiElement,
newName: String, newName: String,
@@ -38,7 +38,8 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
override fun isValid() = file.isValid override fun isValid() = file.isValid
} }
override fun canProcessElement(element: PsiElement) = element is KtFile && ProjectRootsUtil.isInProjectSource(element) override fun canProcessElement(element: PsiElement) =
element is KtFile && ProjectRootsUtil.isInProjectSource(element, includeScriptsOutsideSourceRoots = true)
override fun prepareRenaming(element: PsiElement?, override fun prepareRenaming(element: PsiElement?,
newName: String, newName: String,
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.idea.references.KtReference import org.jetbrains.kotlin.idea.references.KtReference
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchParameters
import org.jetbrains.kotlin.idea.search.projectScope
import org.jetbrains.kotlin.idea.util.actualsForExpected import org.jetbrains.kotlin.idea.util.actualsForExpected
import org.jetbrains.kotlin.idea.util.liftToExpected import org.jetbrains.kotlin.idea.util.liftToExpected
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -68,7 +67,7 @@ abstract class RenameKotlinPsiProcessor : RenamePsiElementProcessor() {
override fun findReferences(element: PsiElement): Collection<PsiReference> { override fun findReferences(element: PsiElement): Collection<PsiReference> {
val searchParameters = KotlinReferencesSearchParameters( val searchParameters = KotlinReferencesSearchParameters(
element, element,
element.project.projectScope(), element.useScope,
kotlinOptions = KotlinReferencesSearchOptions(searchForComponentConventions = false) kotlinOptions = KotlinReferencesSearchOptions(searchForComponentConventions = false)
) )
val references = ReferencesSearch.search(searchParameters).toMutableList() val references = ReferencesSearch.search(searchParameters).toMutableList()
@@ -47,7 +47,7 @@ abstract class RenameKotlinPsiProcessor : RenamePsiElementProcessor() {
override fun findReferences(element: PsiElement): Collection<PsiReference> { override fun findReferences(element: PsiElement): Collection<PsiReference> {
val searchParameters = KotlinReferencesSearchParameters( val searchParameters = KotlinReferencesSearchParameters(
element, element,
element.project.projectScope(), element.useScope,
kotlinOptions = KotlinReferencesSearchOptions(searchForComponentConventions = false) kotlinOptions = KotlinReferencesSearchOptions(searchForComponentConventions = false)
) )
val references = ReferencesSearch.search(searchParameters).toMutableList() val references = ReferencesSearch.search(searchParameters).toMutableList()