Filter also by kind to avoid getting enum descriptors from compiled code
This commit is contained in:
@@ -30,12 +30,8 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiErrorElement
|
import com.intellij.psi.PsiErrorElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.PsiModifier
|
import com.intellij.psi.PsiModifier
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
|
||||||
import com.intellij.psi.util.PsiModificationTracker
|
import com.intellij.psi.util.PsiModificationTracker
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
@@ -246,7 +242,10 @@ internal abstract class OrdinaryImportFixBase<T : KtExpression>(expression: T, f
|
|||||||
|
|
||||||
when (TargetPlatformDetector.getPlatform(expression.getContainingKtFile())) {
|
when (TargetPlatformDetector.getPlatform(expression.getContainingKtFile())) {
|
||||||
JsPlatform -> indicesHelper
|
JsPlatform -> indicesHelper
|
||||||
.getKotlinClasses({ it == name }, psiFilter = { ktDeclaration -> ktDeclaration !is KtEnumEntry })
|
// Enum entries should be contributes with members import fix
|
||||||
|
.getKotlinClasses({ it == name },
|
||||||
|
psiFilter = { ktDeclaration -> ktDeclaration !is KtEnumEntry },
|
||||||
|
kindFilter = { kind -> kind != ClassKind.ENUM_ENTRY })
|
||||||
.filterTo(result, filterByCallType)
|
.filterTo(result, filterByCallType)
|
||||||
JvmPlatform -> indicesHelper.getJvmClassesByName(name).filterTo(result, filterByCallType)
|
JvmPlatform -> indicesHelper.getJvmClassesByName(name).filterTo(result, filterByCallType)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user