KT-8718 KNPE at PropertyUsagesSearchHelper.makeItemList() on erasing parameter name
#KT-8718 Fixed
This commit is contained in:
+2
-1
@@ -70,6 +70,7 @@ public class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, Referenc
|
||||
}
|
||||
|
||||
private fun searchNamedArguments(parameter: JetParameter, queryParameters: ReferencesSearch.SearchParameters) {
|
||||
val parameterName = parameter.name ?: return
|
||||
val function = parameter.ownerFunction ?: return
|
||||
if (function.nameAsName?.isSpecial ?: true) return
|
||||
val project = function.project
|
||||
@@ -83,7 +84,7 @@ public class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, Referenc
|
||||
namedArgsScope = GlobalSearchScope.filesScope(project, filesWithFunctionName.asList())
|
||||
}
|
||||
|
||||
queryParameters.optimizer.searchWord(parameter.name!!,
|
||||
queryParameters.optimizer.searchWord(parameterName,
|
||||
namedArgsScope,
|
||||
KOTLIN_NAMED_ARGUMENT_SEARCH_CONTEXT,
|
||||
true,
|
||||
|
||||
+4
-2
@@ -251,6 +251,8 @@ class PropertyUsagesSearchHelper(
|
||||
override fun makeItemList(target: UsagesSearchTarget<JetNamedDeclaration>): List<UsagesSearchRequestItem> {
|
||||
val element = target.element
|
||||
if (element is JetParameter) {
|
||||
val parameterName = element.name ?: return emptyList()
|
||||
|
||||
val realUsagesScope = element.useScope and target.effectiveScope
|
||||
val realUsagesTarget = target.withScope(realUsagesScope)
|
||||
val realUsagesFilter = makeFilter(target) and !(PsiReference::isNamedArgumentUsage).searchFilter
|
||||
@@ -271,10 +273,10 @@ class PropertyUsagesSearchHelper(
|
||||
scope = JetSourceFilterScope.kotlinSourcesAndLibraries(scope, element.project)
|
||||
}
|
||||
|
||||
val additionalFilter1 = AdditionalFileFilter(element.name!!, KOTLIN_NAMED_ARGUMENT_SEARCH_CONTEXT, true)
|
||||
val additionalFilter1 = AdditionalFileFilter(parameterName, KOTLIN_NAMED_ARGUMENT_SEARCH_CONTEXT, true)
|
||||
val additionalFilter2 = AdditionalFileFilter(function.name!!, UsageSearchContext.IN_CODE, true)
|
||||
val namedArgsRequest = UsagesSearchRequestItem(target.withScope(scope),
|
||||
listOf(element.name!!),
|
||||
listOf(parameterName),
|
||||
(PsiReference::isNamedArgumentUsage).searchFilter and makeFilter(target),
|
||||
additionalFileFilters = listOf(additionalFilter1, additionalFilter2))
|
||||
return listOf(realUsagesRequest, namedArgsRequest)
|
||||
|
||||
Reference in New Issue
Block a user