processor passed to searchReferences() can be invoked from multiple threads, so we need synchronization around the results array (EA-72834)
This commit is contained in:
@@ -71,7 +71,7 @@ public abstract class KotlinFindUsagesHandler<T : PsiElement>(psiElement: T,
|
|||||||
protected abstract fun searchReferences(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean
|
protected abstract fun searchReferences(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean
|
||||||
|
|
||||||
override fun findReferencesToHighlight(target: PsiElement, searchScope: SearchScope): Collection<PsiReference> {
|
override fun findReferencesToHighlight(target: PsiElement, searchScope: SearchScope): Collection<PsiReference> {
|
||||||
val results = ArrayList<PsiReference>()
|
val results = Collections.synchronizedList(arrayListOf<PsiReference>())
|
||||||
val options = getFindUsagesOptions().clone()
|
val options = getFindUsagesOptions().clone()
|
||||||
options.searchScope = searchScope
|
options.searchScope = searchScope
|
||||||
searchReferences(target, object : Processor<UsageInfo> {
|
searchReferences(target, object : Processor<UsageInfo> {
|
||||||
|
|||||||
Reference in New Issue
Block a user