Do not provide 'add dependency' quick fix for unresolved references for non-project files
EA-126105 - NPE: JavaFileManagerImpl$LibSrcExcludingScope.<init> (KotlinAddOrderEntryActionFactory)
This commit is contained in:
@@ -26,6 +26,7 @@ import com.intellij.psi.PsiReferenceBase
|
|||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference.ShorteningMode
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference.ShorteningMode
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.runWhenSmart
|
import org.jetbrains.kotlin.idea.util.runWhenSmart
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
@@ -36,6 +37,8 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
|||||||
object KotlinAddOrderEntryActionFactory : KotlinIntentionActionsFactory() {
|
object KotlinAddOrderEntryActionFactory : KotlinIntentionActionsFactory() {
|
||||||
override fun doCreateActions(diagnostic: Diagnostic): List<IntentionAction> {
|
override fun doCreateActions(diagnostic: Diagnostic): List<IntentionAction> {
|
||||||
val simpleExpression = diagnostic.psiElement as? KtSimpleNameExpression ?: return emptyList()
|
val simpleExpression = diagnostic.psiElement as? KtSimpleNameExpression ?: return emptyList()
|
||||||
|
if (ProjectRootsUtil.isInProjectSource(simpleExpression, includeScriptsOutsideSourceRoots = false)) return emptyList()
|
||||||
|
|
||||||
val refElement = simpleExpression.getQualifiedElement()
|
val refElement = simpleExpression.getQualifiedElement()
|
||||||
|
|
||||||
val reference = object: PsiReferenceBase<KtElement>(refElement) {
|
val reference = object: PsiReferenceBase<KtElement>(refElement) {
|
||||||
|
|||||||
Reference in New Issue
Block a user