Use NotUnderContentRootModuleInfo only from PsiElement.getModuleInfo()
This makes getModuleInfoByVirtualFile nullable Fixes a variant of EA-75803 (from moveConflictUtils)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
0e2bdb8e66
commit
2a1c101350
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.utils.sure
|
||||
fun PsiElement.getModuleInfo(): IdeaModuleInfo = this.getModuleInfo { reason ->
|
||||
LOG.error("Could not find correct module information.\nReason: $reason")
|
||||
NotUnderContentRootModuleInfo
|
||||
}.sure { "Defaulting to NotUnderContentRootModuleInfo so null is not possible" }
|
||||
} ?: NotUnderContentRootModuleInfo
|
||||
|
||||
fun PsiElement.getNullableModuleInfo(): IdeaModuleInfo? = this.getModuleInfo { reason ->
|
||||
LOG.warn("Could not find correct module information.\nReason: $reason")
|
||||
@@ -84,9 +84,9 @@ private fun PsiElement.getModuleInfo(onFailure: (String) -> IdeaModuleInfo?): Id
|
||||
|
||||
fun getModuleInfoByVirtualFile(
|
||||
project: Project, virtualFile: VirtualFile
|
||||
): IdeaModuleInfo = getModuleInfoByVirtualFile(project, virtualFile, treatAsLibrarySource = false)
|
||||
): IdeaModuleInfo? = getModuleInfoByVirtualFile(project, virtualFile, treatAsLibrarySource = false)
|
||||
|
||||
private fun getModuleInfoByVirtualFile(project: Project, virtualFile: VirtualFile, treatAsLibrarySource: Boolean): IdeaModuleInfo {
|
||||
private fun getModuleInfoByVirtualFile(project: Project, virtualFile: VirtualFile, treatAsLibrarySource: Boolean): IdeaModuleInfo? {
|
||||
val projectFileIndex = ProjectFileIndex.SERVICE.getInstance(project)
|
||||
|
||||
val module = projectFileIndex.getModuleForFile(virtualFile)
|
||||
@@ -149,7 +149,7 @@ private fun getModuleInfoByVirtualFile(project: Project, virtualFile: VirtualFil
|
||||
return ScriptDependenciesSourceModuleInfo(project)
|
||||
}
|
||||
|
||||
return NotUnderContentRootModuleInfo
|
||||
return null
|
||||
}
|
||||
|
||||
private fun KtLightElement<*, *>.getModuleInfoForLightElement(onFailure: (String) -> IdeaModuleInfo?): IdeaModuleInfo? {
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ class MoveConflictChecker(
|
||||
}
|
||||
|
||||
private fun getModuleDescriptor(sourceFile: VirtualFile) =
|
||||
resolutionFacade.findModuleDescriptor(getModuleInfoByVirtualFile(project, sourceFile))
|
||||
getModuleInfoByVirtualFile(project, sourceFile)?.let { resolutionFacade.findModuleDescriptor(it) }
|
||||
|
||||
private fun KotlinMoveTarget.getContainerDescriptor(): DeclarationDescriptor? {
|
||||
return when (this) {
|
||||
|
||||
Reference in New Issue
Block a user