Cleanup bunch workarounds made for 181
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.compatibility
|
|
||||||
|
|
||||||
import com.intellij.util.Processor
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Processor<T> till IDEA 181 and Processor<in T> since 182.
|
|
||||||
* BUNCH: 181
|
|
||||||
*/
|
|
||||||
typealias ExecutorProcessor<T> = Processor<in T>
|
|
||||||
+7
-11
@@ -21,11 +21,7 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.util.EmptyQuery
|
import com.intellij.util.*
|
||||||
import com.intellij.util.Query
|
|
||||||
import com.intellij.util.QueryExecutor
|
|
||||||
import com.intellij.util.QueryFactory
|
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.contains
|
import org.jetbrains.kotlin.psi.psiUtil.contains
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -43,7 +39,7 @@ abstract class DeclarationsSearch<T : PsiElement, R : DeclarationSearchRequest<T
|
|||||||
init {
|
init {
|
||||||
registerExecutor(
|
registerExecutor(
|
||||||
object : QueryExecutorBase<T, R>(true) {
|
object : QueryExecutorBase<T, R>(true) {
|
||||||
override fun processQuery(queryParameters: R, consumer: ExecutorProcessor<T>) {
|
override fun processQuery(queryParameters: R, consumer: Processor<in T>) {
|
||||||
doSearch(queryParameters, consumer)
|
doSearch(queryParameters, consumer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -54,7 +50,7 @@ abstract class DeclarationsSearch<T : PsiElement, R : DeclarationSearchRequest<T
|
|||||||
super.registerExecutor(executor)
|
super.registerExecutor(executor)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun doSearch(request: R, consumer: ExecutorProcessor<T>)
|
protected abstract fun doSearch(request: R, consumer: Processor<in T>)
|
||||||
protected open fun isApplicable(request: R): Boolean = true
|
protected open fun isApplicable(request: R): Boolean = true
|
||||||
|
|
||||||
fun search(request: R): Query<T> = if (isApplicable(request)) createUniqueResultsQuery(request) else EmptyQuery.getEmptyQuery<T>()
|
fun search(request: R): Query<T> = if (isApplicable(request)) createUniqueResultsQuery(request) else EmptyQuery.getEmptyQuery<T>()
|
||||||
@@ -97,7 +93,7 @@ interface HierarchyTraverser<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T : PsiElement> ExecutorProcessor<T>.consumeHierarchy(request: SearchRequestWithElement<T>, traverser: HierarchyTraverser<T>) {
|
fun <T : PsiElement> Processor<in T>.consumeHierarchy(request: SearchRequestWithElement<T>, traverser: HierarchyTraverser<T>) {
|
||||||
traverser.forEach(request.originalElement) { element ->
|
traverser.forEach(request.originalElement) { element ->
|
||||||
if (element in request.searchScope) {
|
if (element in request.searchScope) {
|
||||||
process(element)
|
process(element)
|
||||||
@@ -108,13 +104,13 @@ fun <T : PsiElement> ExecutorProcessor<T>.consumeHierarchy(request: SearchReques
|
|||||||
abstract class HierarchySearch<T : PsiElement>(
|
abstract class HierarchySearch<T : PsiElement>(
|
||||||
private val traverser: HierarchyTraverser<T>
|
private val traverser: HierarchyTraverser<T>
|
||||||
) : DeclarationsSearch<T, HierarchySearchRequest<T>>() {
|
) : DeclarationsSearch<T, HierarchySearchRequest<T>>() {
|
||||||
protected open fun doSearchAll(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>) {
|
protected open fun doSearchAll(request: HierarchySearchRequest<T>, consumer: Processor<in T>) {
|
||||||
consumer.consumeHierarchy(request, traverser)
|
consumer.consumeHierarchy(request, traverser)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun doSearchDirect(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>)
|
protected abstract fun doSearchDirect(request: HierarchySearchRequest<T>, consumer: Processor<in T>)
|
||||||
|
|
||||||
override fun doSearch(request: HierarchySearchRequest<T>, consumer: ExecutorProcessor<T>) {
|
override fun doSearch(request: HierarchySearchRequest<T>, consumer: Processor<in T>) {
|
||||||
if (request.searchDeeply) {
|
if (request.searchDeeply) {
|
||||||
doSearchAll(request, consumer)
|
doSearchAll(request, consumer)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-2
@@ -21,7 +21,6 @@ import com.intellij.util.Query
|
|||||||
import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod
|
import org.jetbrains.kotlin.asJava.getRepresentativeLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.isOverridable
|
import org.jetbrains.kotlin.descriptors.isOverridable
|
||||||
@@ -96,7 +95,7 @@ object KotlinPsiMethodOverridersSearch : HierarchySearch<PsiMethod>(PsiMethodOve
|
|||||||
override fun isApplicable(request: HierarchySearchRequest<PsiMethod>): Boolean =
|
override fun isApplicable(request: HierarchySearchRequest<PsiMethod>): Boolean =
|
||||||
runReadAction { request.originalElement.isOverridableElement() }
|
runReadAction { request.originalElement.isOverridableElement() }
|
||||||
|
|
||||||
override fun doSearchDirect(request: HierarchySearchRequest<PsiMethod>, consumer: ExecutorProcessor<PsiMethod>) {
|
override fun doSearchDirect(request: HierarchySearchRequest<PsiMethod>, consumer: Processor<in PsiMethod>) {
|
||||||
searchDirectOverriders(request.originalElement).forEach { method -> consumer.process(method) }
|
searchDirectOverriders(request.originalElement).forEach { method -> consumer.process(method) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -24,6 +24,7 @@ import com.intellij.psi.search.SearchRequestCollector
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.UsageSearchContext
|
import com.intellij.psi.search.UsageSearchContext
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
|
import com.intellij.util.Processor
|
||||||
import com.intellij.util.containers.nullize
|
import com.intellij.util.containers.nullize
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightField
|
import org.jetbrains.kotlin.asJava.elements.KtLightField
|
||||||
@@ -33,7 +34,6 @@ import org.jetbrains.kotlin.asJava.elements.KtLightParameter
|
|||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightElements
|
import org.jetbrains.kotlin.asJava.toLightElements
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.*
|
import org.jetbrains.kotlin.idea.search.*
|
||||||
@@ -77,13 +77,13 @@ class KotlinReferencesSearchParameters(
|
|||||||
) : ReferencesSearch.SearchParameters(elementToSearch, scope, ignoreAccessScope, optimizer)
|
) : ReferencesSearch.SearchParameters(elementToSearch, scope, ignoreAccessScope, optimizer)
|
||||||
|
|
||||||
class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>() {
|
class KotlinReferencesSearcher : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>() {
|
||||||
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val processor = QueryProcessor(queryParameters, consumer)
|
val processor = QueryProcessor(queryParameters, consumer)
|
||||||
runReadAction { processor.processInReadAction() }
|
runReadAction { processor.processInReadAction() }
|
||||||
processor.executeLongRunningTasks()
|
processor.executeLongRunningTasks()
|
||||||
}
|
}
|
||||||
|
|
||||||
private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: ExecutorProcessor<PsiReference>) {
|
private class QueryProcessor(val queryParameters: ReferencesSearch.SearchParameters, val consumer: Processor<in PsiReference>) {
|
||||||
|
|
||||||
private val kotlinOptions = (queryParameters as? KotlinReferencesSearchParameters)?.kotlinOptions ?: Empty
|
private val kotlinOptions = (queryParameters as? KotlinReferencesSearchParameters)?.kotlinOptions ?: Empty
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.PsiReferenceService
|
import com.intellij.psi.PsiReferenceService
|
||||||
import com.intellij.psi.ReferenceRange
|
import com.intellij.psi.ReferenceRange
|
||||||
import com.intellij.psi.search.RequestResultProcessor
|
import com.intellij.psi.search.RequestResultProcessor
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.isCallableOverrideUsage
|
import org.jetbrains.kotlin.idea.search.usagesSearch.isCallableOverrideUsage
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.isExtensionOfDeclarationClassUsage
|
import org.jetbrains.kotlin.idea.search.usagesSearch.isExtensionOfDeclarationClassUsage
|
||||||
@@ -38,7 +38,7 @@ class KotlinRequestResultProcessor(
|
|||||||
) : RequestResultProcessor(unwrappedElement, originalElement, filter, options) {
|
) : RequestResultProcessor(unwrappedElement, originalElement, filter, options) {
|
||||||
private val referenceService = PsiReferenceService.getService()
|
private val referenceService = PsiReferenceService.getService()
|
||||||
|
|
||||||
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor<in PsiReference>): Boolean {
|
||||||
val references = if (element is KtDestructuringDeclaration)
|
val references = if (element is KtDestructuringDeclaration)
|
||||||
element.entries.flatMap { referenceService.getReferences(it, PsiReferenceService.Hints.NO_HINTS) }
|
element.entries.flatMap { referenceService.getReferences(it, PsiReferenceService.Hints.NO_HINTS) }
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import com.intellij.util.CommonProcessors
|
|||||||
import com.intellij.util.indexing.FileBasedIndex
|
import com.intellij.util.indexing.FileBasedIndex
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
@@ -103,7 +102,7 @@ fun SearchScope.excludeFileTypes(vararg fileTypes: FileType): SearchScope {
|
|||||||
fun ReferencesSearch.SearchParameters.effectiveSearchScope(element: PsiElement): SearchScope {
|
fun ReferencesSearch.SearchParameters.effectiveSearchScope(element: PsiElement): SearchScope {
|
||||||
if (element == elementToSearch) return effectiveSearchScope
|
if (element == elementToSearch) return effectiveSearchScope
|
||||||
if (isIgnoreAccessScope) return scopeDeterminedByUser
|
if (isIgnoreAccessScope) return scopeDeterminedByUser
|
||||||
val accessScope = psiSearchHelperInstance(element.project).getUseScope(element)
|
val accessScope = PsiSearchHelper.getInstance(element.project).getUseScope(element)
|
||||||
return scopeDeterminedByUser.intersectWith(accessScope)
|
return scopeDeterminedByUser.intersectWith(accessScope)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +125,7 @@ fun PsiSearchHelper.isCheapEnoughToSearchConsideringOperators(
|
|||||||
|
|
||||||
fun findScriptsWithUsages(declaration: KtNamedDeclaration): List<VirtualFile> {
|
fun findScriptsWithUsages(declaration: KtNamedDeclaration): List<VirtualFile> {
|
||||||
val project = declaration.project
|
val project = declaration.project
|
||||||
val scope = psiSearchHelperInstance(project).getUseScope(declaration) as? GlobalSearchScope
|
val scope = PsiSearchHelper.getInstance(project).getUseScope(declaration) as? GlobalSearchScope
|
||||||
?: return emptyList()
|
?: return emptyList()
|
||||||
|
|
||||||
val name = declaration.name.takeIf { it?.isNotBlank() == true } ?: return emptyList()
|
val name = declaration.name.takeIf { it?.isNotBlank() == true } ?: return emptyList()
|
||||||
|
|||||||
+2
-4
@@ -35,7 +35,6 @@ import org.jetbrains.annotations.TestOnly
|
|||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
@@ -52,7 +51,6 @@ import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
|||||||
import org.jetbrains.kotlin.idea.util.FuzzyType
|
import org.jetbrains.kotlin.idea.util.FuzzyType
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|
||||||
import org.jetbrains.kotlin.kdoc.psi.impl.KDocName
|
import org.jetbrains.kotlin.kdoc.psi.impl.KDocName
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
||||||
import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils
|
import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils
|
||||||
@@ -274,7 +272,7 @@ class ExpressionsOfTypeProcessor(
|
|||||||
RequestResultProcessor(psiMember) {
|
RequestResultProcessor(psiMember) {
|
||||||
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
val possibleClassesNames: Set<String> = runReadAction { classes.map { it.qualifiedName }.filterNotNullTo(HashSet()) }
|
||||||
|
|
||||||
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: ExecutorProcessor<PsiReference>): Boolean {
|
override fun processTextOccurrence(element: PsiElement, offsetInElement: Int, consumer: Processor<in PsiReference>): Boolean {
|
||||||
when (element) {
|
when (element) {
|
||||||
is KtQualifiedExpression -> {
|
is KtQualifiedExpression -> {
|
||||||
val selectorExpression = element.selectorExpression ?: return true
|
val selectorExpression = element.selectorExpression ?: return true
|
||||||
@@ -370,7 +368,7 @@ class ExpressionsOfTypeProcessor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
psiSearchHelperInstance(project).processRequests(searchRequestCollector) { reference ->
|
PsiSearchHelper.getInstance(project).processRequests(searchRequestCollector) { reference ->
|
||||||
if (reference.element.parents.any { it is KtImportDirective }) {
|
if (reference.element.parents.any { it is KtImportDirective }) {
|
||||||
// Found declaration in import - process all file with an ordinal reference search
|
// Found declaration in import - process all file with an ordinal reference search
|
||||||
val containingFile = reference.element.containingFile
|
val containingFile = reference.element.containingFile
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
||||||
@@ -33,7 +33,7 @@ class BinaryOperatorReferenceSearcher(
|
|||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
private val operationTokens: List<KtSingleValueToken>,
|
private val operationTokens: List<KtSingleValueToken>,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtBinaryExpression>(
|
) : OperatorReferenceSearcher<KtBinaryExpression>(
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class ContainsOperatorReferenceSearcher(
|
class ContainsOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtOperationReferenceExpression>(
|
) : OperatorReferenceSearcher<KtOperationReferenceExpression>(
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
import org.jetbrains.kotlin.idea.references.KtDestructuringDeclarationReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
@@ -33,7 +33,7 @@ class DestructuringDeclarationReferenceSearcher(
|
|||||||
targetDeclaration: PsiElement,
|
targetDeclaration: PsiElement,
|
||||||
private val componentIndex: Int,
|
private val componentIndex: Int,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtDestructuringDeclaration>(
|
) : OperatorReferenceSearcher<KtDestructuringDeclaration>(
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtArrayAccessReference
|
import org.jetbrains.kotlin.idea.references.KtArrayAccessReference
|
||||||
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class IndexingOperatorReferenceSearcher(
|
class IndexingOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions,
|
options: KotlinReferencesSearchOptions,
|
||||||
private val isSet: Boolean
|
private val isSet: Boolean
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference
|
import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
@@ -36,7 +36,7 @@ import org.jetbrains.uast.convertOpt
|
|||||||
class InvokeOperatorReferenceSearcher(
|
class InvokeOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtCallExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = emptyList()) {
|
) : OperatorReferenceSearcher<KtCallExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = emptyList()) {
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.references.KtForLoopInReference
|
import org.jetbrains.kotlin.idea.references.KtForLoopInReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class IteratorOperatorReferenceSearcher(
|
class IteratorOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtForExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
) : OperatorReferenceSearcher<KtForExpression>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("in")) {
|
||||||
|
|||||||
+5
-5
@@ -20,10 +20,10 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider
|
|||||||
import com.intellij.openapi.progress.util.ProgressWrapper
|
import com.intellij.openapi.progress.util.ProgressWrapper
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.search.*
|
import com.intellij.psi.search.*
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
@@ -56,7 +56,7 @@ import java.util.*
|
|||||||
abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
||||||
protected val targetDeclaration: PsiElement,
|
protected val targetDeclaration: PsiElement,
|
||||||
private val searchScope: SearchScope,
|
private val searchScope: SearchScope,
|
||||||
private val consumer: ExecutorProcessor<PsiReference>,
|
private val consumer: Processor<in PsiReference>,
|
||||||
private val optimizer: SearchRequestCollector,
|
private val optimizer: SearchRequestCollector,
|
||||||
private val options: KotlinReferencesSearchOptions,
|
private val options: KotlinReferencesSearchOptions,
|
||||||
private val wordsToSearch: List<String>
|
private val wordsToSearch: List<String>
|
||||||
@@ -92,7 +92,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
fun create(
|
fun create(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
): OperatorReferenceSearcher<*>? {
|
): OperatorReferenceSearcher<*>? {
|
||||||
@@ -107,7 +107,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
private fun createInReadAction(
|
private fun createInReadAction(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
): OperatorReferenceSearcher<*>? {
|
): OperatorReferenceSearcher<*>? {
|
||||||
@@ -132,7 +132,7 @@ abstract class OperatorReferenceSearcher<TReferenceElement : KtElement>(
|
|||||||
private fun createInReadAction(
|
private fun createInReadAction(
|
||||||
declaration: PsiElement,
|
declaration: PsiElement,
|
||||||
name: Name,
|
name: Name,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions,
|
options: KotlinReferencesSearchOptions,
|
||||||
searchScope: SearchScope
|
searchScope: SearchScope
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtPropertyDelegationMethodsReference
|
import org.jetbrains.kotlin.idea.references.KtPropertyDelegationMethodsReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
import org.jetbrains.kotlin.psi.KtElement
|
||||||
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
|||||||
class PropertyDelegationOperatorReferenceSearcher(
|
class PropertyDelegationOperatorReferenceSearcher(
|
||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtPropertyDelegate>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("by")) {
|
) : OperatorReferenceSearcher<KtPropertyDelegate>(targetFunction, searchScope, consumer, optimizer, options, wordsToSearch = listOf("by")) {
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.SearchRequestCollector
|
import com.intellij.psi.search.SearchRequestCollector
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
import org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearchOptions
|
||||||
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
import org.jetbrains.kotlin.lexer.KtSingleValueToken
|
||||||
@@ -33,7 +33,7 @@ class UnaryOperatorReferenceSearcher(
|
|||||||
targetFunction: PsiElement,
|
targetFunction: PsiElement,
|
||||||
private val operationToken: KtSingleValueToken,
|
private val operationToken: KtSingleValueToken,
|
||||||
searchScope: SearchScope,
|
searchScope: SearchScope,
|
||||||
consumer: ExecutorProcessor<PsiReference>,
|
consumer: Processor<in PsiReference>,
|
||||||
optimizer: SearchRequestCollector,
|
optimizer: SearchRequestCollector,
|
||||||
options: KotlinReferencesSearchOptions
|
options: KotlinReferencesSearchOptions
|
||||||
) : OperatorReferenceSearcher<KtUnaryExpression>(
|
) : OperatorReferenceSearcher<KtUnaryExpression>(
|
||||||
|
|||||||
@@ -45,10 +45,3 @@ fun <T> Project.executeCommand(name: String, groupId: Any? = null, command: () -
|
|||||||
@Suppress("USELESS_CAST")
|
@Suppress("USELESS_CAST")
|
||||||
return result as T
|
return result as T
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ProgressManager.getProgressIndicator() is nullable in 181 and dynamic again in 182
|
|
||||||
* BUNCH: 181
|
|
||||||
*/
|
|
||||||
@Suppress("IncompatibleAPI")
|
|
||||||
val ProgressManager.progressIndicatorNullable: ProgressIndicator? get() = progressIndicator
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.util.compat
|
|
||||||
|
|
||||||
import com.intellij.openapi.project.Project
|
|
||||||
import com.intellij.psi.search.PsiSearchHelper
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
@Suppress("IncompatibleAPI", "MissingRecentApi")
|
|
||||||
fun psiSearchHelperInstance(project: Project): PsiSearchHelper {
|
|
||||||
return PsiSearchHelper.getInstance(project)
|
|
||||||
}
|
|
||||||
+1
-2
@@ -49,7 +49,6 @@ import org.jetbrains.kotlin.idea.refactoring.j2k
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.j2kText
|
import org.jetbrains.kotlin.idea.refactoring.j2kText
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.versions.getKotlinJvmRuntimeMarkerClass
|
import org.jetbrains.kotlin.idea.versions.getKotlinJvmRuntimeMarkerClass
|
||||||
import org.jetbrains.kotlin.j2k.AfterConversionPass
|
import org.jetbrains.kotlin.j2k.AfterConversionPass
|
||||||
@@ -82,7 +81,7 @@ class KotlinCodeFragmentFactory : CodeFragmentFactory() {
|
|||||||
semaphore.down()
|
semaphore.down()
|
||||||
val nameRef = AtomicReference<KotlinType>()
|
val nameRef = AtomicReference<KotlinType>()
|
||||||
val worker = object : KotlinRuntimeTypeEvaluator(
|
val worker = object : KotlinRuntimeTypeEvaluator(
|
||||||
null, expression, debuggerContext, ProgressManager.getInstance().progressIndicatorNullable!!
|
null, expression, debuggerContext, ProgressManager.getInstance().progressIndicator!!
|
||||||
) {
|
) {
|
||||||
override fun typeCalculationFinished(type: KotlinType?) {
|
override fun typeCalculationFinished(type: KotlinType?) {
|
||||||
nameRef.set(type)
|
nameRef.set(type)
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ import org.jetbrains.kotlin.idea.references.mainReference
|
|||||||
import org.jetbrains.kotlin.idea.runInReadActionWithWriteActionPriority
|
import org.jetbrains.kotlin.idea.runInReadActionWithWriteActionPriority
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -111,7 +110,7 @@ class KotlinLanguageInjector(
|
|||||||
return computedInjection
|
return computedInjection
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ApplicationManager.getApplication().isReadAccessAllowed && ProgressManager.getInstance().progressIndicatorNullable == null) {
|
if (ApplicationManager.getApplication().isReadAccessAllowed && ProgressManager.getInstance().progressIndicator == null) {
|
||||||
// The action cannot be canceled by caller and by internal checkCanceled() calls.
|
// The action cannot be canceled by caller and by internal checkCanceled() calls.
|
||||||
// Force creating new indicator that is canceled on write action start, otherwise there might be lags in typing.
|
// Force creating new indicator that is canceled on write action start, otherwise there might be lags in typing.
|
||||||
runInReadActionWithWriteActionPriority(::computeAndCache) ?: kotlinCachedInjection?.baseInjection ?: ABSENT_KOTLIN_INJECTION
|
runInReadActionWithWriteActionPriority(::computeAndCache) ?: kotlinCachedInjection?.baseInjection ?: ABSENT_KOTLIN_INJECTION
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class KotlinDecompilerServiceImpl : KotlinDecompilerService {
|
|||||||
|
|
||||||
val decompiler = BaseDecompiler(bytecodeProvider, resultSaver, options, IdeaLogger())
|
val decompiler = BaseDecompiler(bytecodeProvider, resultSaver, options, IdeaLogger())
|
||||||
for (path in bytecodeMap.keys) {
|
for (path in bytecodeMap.keys) {
|
||||||
decompiler.addSpaceEx(path, true)
|
decompiler.addSource(path)
|
||||||
}
|
}
|
||||||
decompiler.decompileContext()
|
decompiler.decompileContext()
|
||||||
return resultSaver.resultText
|
return resultSaver.resultText
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.internal
|
|
||||||
|
|
||||||
import org.jetbrains.java.decompiler.main.decompiler.BaseDecompiler
|
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
/**
|
|
||||||
* `addSpace` method is deprecated in 182. `addSource` and `addLibrary` were introduced instead.
|
|
||||||
* BUNCH: 181
|
|
||||||
*/
|
|
||||||
@Suppress("IncompatibleAPI")
|
|
||||||
fun BaseDecompiler.addSpaceEx(file: File, isOwn: Boolean) {
|
|
||||||
if (isOwn) {
|
|
||||||
addSource(file)
|
|
||||||
} else {
|
|
||||||
addLibrary(file)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -273,16 +273,11 @@ class KotlinPluginUpdater(private val propertiesComponent: PropertiesComponent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (prepareResult) {
|
if (prepareResult) {
|
||||||
val pluginDescriptor = pluginDownloader.descriptor
|
installed = true
|
||||||
// BUNCH: 181 Not null since 182.
|
pluginDownloader.install()
|
||||||
@Suppress("SENSELESS_COMPARISON")
|
|
||||||
if (pluginDescriptor != null) {
|
|
||||||
installed = true
|
|
||||||
pluginDownloader.install()
|
|
||||||
|
|
||||||
ApplicationManager.getApplication().invokeLater {
|
ApplicationManager.getApplication().invokeLater {
|
||||||
PluginManagerMain.notifyPluginsUpdated(null)
|
PluginManagerMain.notifyPluginsUpdated(null)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
|
|||||||
import org.jetbrains.kotlin.idea.j2k.JavaToKotlinConverterFactory
|
import org.jetbrains.kotlin.idea.j2k.JavaToKotlinConverterFactory
|
||||||
import org.jetbrains.kotlin.idea.refactoring.toPsiFile
|
import org.jetbrains.kotlin.idea.refactoring.toPsiFile
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
|
import org.jetbrains.kotlin.idea.util.isRunningInCidrIde
|
||||||
import org.jetbrains.kotlin.j2k.ConverterSettings
|
import org.jetbrains.kotlin.j2k.ConverterSettings
|
||||||
@@ -122,7 +121,7 @@ class JavaToKotlinAction : AnAction() {
|
|||||||
converterResult = converter.filesToKotlin(
|
converterResult = converter.filesToKotlin(
|
||||||
javaFiles,
|
javaFiles,
|
||||||
JavaToKotlinConverterFactory.createPostProcessor(formatCode = true),
|
JavaToKotlinConverterFactory.createPostProcessor(formatCode = true),
|
||||||
progress = ProgressManager.getInstance().progressIndicatorNullable!!
|
progress = ProgressManager.getInstance().progressIndicator!!
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +142,7 @@ class JavaToKotlinAction : AnAction() {
|
|||||||
{
|
{
|
||||||
runReadAction {
|
runReadAction {
|
||||||
externalCodeUpdate = converterResult!!.externalCodeProcessing!!.prepareWriteOperation(
|
externalCodeUpdate = converterResult!!.externalCodeProcessing!!.prepareWriteOperation(
|
||||||
ProgressManager.getInstance().progressIndicatorNullable!!
|
ProgressManager.getInstance().progressIndicator!!
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-2
@@ -48,7 +48,6 @@ import org.jetbrains.kotlin.idea.core.overrideImplement.generateUnsupportedOrSup
|
|||||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.setupEditorSelection
|
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.setupEditorSelection
|
||||||
import org.jetbrains.kotlin.idea.refactoring.j2k
|
import org.jetbrains.kotlin.idea.refactoring.j2k
|
||||||
import org.jetbrains.kotlin.idea.testIntegration.findSuitableFrameworks
|
import org.jetbrains.kotlin.idea.testIntegration.findSuitableFrameworks
|
||||||
import org.jetbrains.kotlin.idea.util.PopupChooserBuilderWrapper
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -75,7 +74,7 @@ abstract class KotlinGenerateTestSupportActionBase(
|
|||||||
val list = JBList<TestFramework>(*frameworks.toTypedArray())
|
val list = JBList<TestFramework>(*frameworks.toTypedArray())
|
||||||
list.cellRenderer = TestFrameworkListCellRenderer()
|
list.cellRenderer = TestFrameworkListCellRenderer()
|
||||||
|
|
||||||
PopupChooserBuilderWrapper<TestFramework>(list)
|
PopupChooserBuilder<TestFramework>(list)
|
||||||
.setFilteringEnabled { (it as TestFramework).name }
|
.setFilteringEnabled { (it as TestFramework).name }
|
||||||
.setTitle("Choose Framework")
|
.setTitle("Choose Framework")
|
||||||
.setItemChoosenCallback { consumer(list.selectedValue as TestFramework) }
|
.setItemChoosenCallback { consumer(list.selectedValue as TestFramework) }
|
||||||
|
|||||||
+1
-2
@@ -30,7 +30,6 @@ import com.intellij.openapi.vfs.VirtualFileVisitor
|
|||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.ExpressionsOfTypeProcessor
|
import org.jetbrains.kotlin.idea.search.usagesSearch.ExpressionsOfTypeProcessor
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.KtClass
|
import org.jetbrains.kotlin.psi.KtClass
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -58,7 +57,7 @@ class CheckComponentsUsageSearchAction : AnAction() {
|
|||||||
.filter { it.isData() }
|
.filter { it.isData() }
|
||||||
.toList()
|
.toList()
|
||||||
|
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable
|
val progressIndicator = ProgressManager.getInstance().progressIndicator
|
||||||
for ((i, dataClass) in dataClasses.withIndex()) {
|
for ((i, dataClass) in dataClasses.withIndex()) {
|
||||||
progressIndicator?.text = "Checking data class ${i + 1} of ${dataClasses.size}..."
|
progressIndicator?.text = "Checking data class ${i + 1} of ${dataClasses.size}..."
|
||||||
progressIndicator?.text2 = dataClass.fqName?.asString() ?: ""
|
progressIndicator?.text2 = dataClass.fqName?.asString() ?: ""
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import org.jetbrains.kotlin.builtins.getReturnTypeFromFunctionType
|
|||||||
import org.jetbrains.kotlin.builtins.isFunctionType
|
import org.jetbrains.kotlin.builtins.isFunctionType
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
@@ -63,7 +62,7 @@ class FindImplicitNothingAction : AnAction() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun find(files: Collection<KtFile>, project: Project) {
|
private fun find(files: Collection<KtFile>, project: Project) {
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable
|
val progressIndicator = ProgressManager.getInstance().progressIndicator
|
||||||
val found = ArrayList<KtCallExpression>()
|
val found = ArrayList<KtCallExpression>()
|
||||||
for ((i, file) in files.withIndex()) {
|
for ((i, file) in files.withIndex()) {
|
||||||
progressIndicator?.text = "Scanning files: $i of ${files.size} file. ${found.size} occurrences found"
|
progressIndicator?.text = "Scanning files: $i of ${files.size} file. ${found.size} occurrences found"
|
||||||
|
|||||||
+1
-2
@@ -30,7 +30,6 @@ import com.intellij.psi.PsiModifier
|
|||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.load.java.isFromJava
|
import org.jetbrains.kotlin.load.java.isFromJava
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -56,7 +55,7 @@ class SearchNotPropertyCandidatesAction : AnAction() {
|
|||||||
ProgressManager.getInstance().runProcessWithProgressSynchronously(
|
ProgressManager.getInstance().runProcessWithProgressSynchronously(
|
||||||
{
|
{
|
||||||
runReadAction {
|
runReadAction {
|
||||||
ProgressManager.getInstance().progressIndicatorNullable!!.isIndeterminate = true
|
ProgressManager.getInstance().progressIndicator!!.isIndeterminate = true
|
||||||
processAllDescriptors(packageDesc, project)
|
processAllDescriptors(packageDesc, project)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-2
@@ -29,7 +29,6 @@ import com.intellij.util.IncorrectOperationException
|
|||||||
import com.intellij.util.SequentialModalProgressTask
|
import com.intellij.util.SequentialModalProgressTask
|
||||||
import com.intellij.util.SequentialTask
|
import com.intellij.util.SequentialTask
|
||||||
import org.jetbrains.kotlin.idea.inspections.KotlinUnusedImportInspection
|
import org.jetbrains.kotlin.idea.inspections.KotlinUnusedImportInspection
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtImportDirective
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
@@ -94,7 +93,7 @@ class KotlinOptimizeImportsRefactoringHelper : RefactoringHelper<Set<KtFile>> {
|
|||||||
val unusedImports = LinkedHashSet<SmartPsiElementPointer<KtImportDirective>>()
|
val unusedImports = LinkedHashSet<SmartPsiElementPointer<KtImportDirective>>()
|
||||||
val findRedundantImports = {
|
val findRedundantImports = {
|
||||||
DumbService.getInstance(project).runReadActionInSmartMode {
|
DumbService.getInstance(project).runReadActionInSmartMode {
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable
|
val progressIndicator = ProgressManager.getInstance().progressIndicator
|
||||||
val fileCount = operationData.size
|
val fileCount = operationData.size
|
||||||
for ((i, file) in operationData.withIndex()) {
|
for ((i, file) in operationData.withIndex()) {
|
||||||
if (!file.isValid) continue
|
if (!file.isValid) continue
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiElementVisitor
|
import com.intellij.psi.PsiElementVisitor
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
|
import com.intellij.psi.search.PsiSearchHelper
|
||||||
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.FEW_OCCURRENCES
|
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.FEW_OCCURRENCES
|
||||||
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.ZERO_OCCURRENCES
|
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.ZERO_OCCURRENCES
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
@@ -24,7 +25,6 @@ import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
|||||||
import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators
|
import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperators
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.getAccessorNames
|
import org.jetbrains.kotlin.idea.search.usagesSearch.getAccessorNames
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.*
|
import org.jetbrains.kotlin.lexer.KtTokens.*
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||||
@@ -83,7 +83,7 @@ class CanBeParameterInspection : AbstractKotlinInspection() {
|
|||||||
|
|
||||||
val useScope = parameter.useScope
|
val useScope = parameter.useScope
|
||||||
val restrictedScope = if (useScope is GlobalSearchScope) {
|
val restrictedScope = if (useScope is GlobalSearchScope) {
|
||||||
val psiSearchHelper = psiSearchHelperInstance(parameter.project)
|
val psiSearchHelper = PsiSearchHelper.getInstance(parameter.project)
|
||||||
for (accessorName in parameter.getAccessorNames()) {
|
for (accessorName in parameter.getAccessorNames()) {
|
||||||
when (psiSearchHelper.isCheapEnoughToSearchConsideringOperators(accessorName, useScope, null, null)) {
|
when (psiSearchHelper.isCheapEnoughToSearchConsideringOperators(accessorName, useScope, null, null)) {
|
||||||
ZERO_OCCURRENCES -> {
|
ZERO_OCCURRENCES -> {
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ import org.jetbrains.kotlin.idea.imports.KotlinImportOptimizer
|
|||||||
import org.jetbrains.kotlin.idea.imports.OptimizedImportsBuilder
|
import org.jetbrains.kotlin.idea.imports.OptimizedImportsBuilder
|
||||||
import org.jetbrains.kotlin.idea.imports.importableFqName
|
import org.jetbrains.kotlin.idea.imports.importableFqName
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtCodeFragment
|
import org.jetbrains.kotlin.psi.KtCodeFragment
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -149,7 +148,7 @@ class KotlinUnusedImportInspection : AbstractKotlinInspection() {
|
|||||||
val optimizedImports = KotlinImportOptimizer.prepareOptimizedImports(file, data) ?: return // return if already optimized
|
val optimizedImports = KotlinImportOptimizer.prepareOptimizedImports(file, data) ?: return // return if already optimized
|
||||||
|
|
||||||
// unwrap progress indicator
|
// unwrap progress indicator
|
||||||
val progress = generateSequence(ProgressManager.getInstance().progressIndicatorNullable) {
|
val progress = generateSequence(ProgressManager.getInstance().progressIndicator) {
|
||||||
(it as? ProgressWrapper)?.originalProgressIndicator
|
(it as? ProgressWrapper)?.originalProgressIndicator
|
||||||
}.last() as DaemonProgressIndicator
|
}.last() as DaemonProgressIndicator
|
||||||
val highlightingSession = HighlightingSessionImpl.getHighlightingSession(file, progress)
|
val highlightingSession = HighlightingSessionImpl.getHighlightingSession(file, progress)
|
||||||
|
|||||||
+1
-2
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.idea.search.isCheapEnoughToSearchConsideringOperator
|
|||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.dataClassComponentFunction
|
import org.jetbrains.kotlin.idea.search.usagesSearch.dataClassComponentFunction
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||||
@@ -103,7 +102,7 @@ class MemberVisibilityCanBePrivateInspection : AbstractKotlinInspection() {
|
|||||||
// properties can be referred by component1/component2, which is too expensive to search, don't analyze them
|
// properties can be referred by component1/component2, which is too expensive to search, don't analyze them
|
||||||
if (declaration is KtParameter && declaration.dataClassComponentFunction() != null) return false
|
if (declaration is KtParameter && declaration.dataClassComponentFunction() != null) return false
|
||||||
|
|
||||||
val psiSearchHelper = psiSearchHelperInstance(declaration.project)
|
val psiSearchHelper = PsiSearchHelper.getInstance(declaration.project)
|
||||||
val useScope = declaration.useScope
|
val useScope = declaration.useScope
|
||||||
val name = declaration.name ?: return false
|
val name = declaration.name ?: return false
|
||||||
val restrictedScope = if (useScope is GlobalSearchScope) {
|
val restrictedScope = if (useScope is GlobalSearchScope) {
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiElementVisitor
|
import com.intellij.psi.PsiElementVisitor
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
|
import com.intellij.psi.search.PsiSearchHelper
|
||||||
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult
|
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult
|
||||||
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.*
|
import com.intellij.psi.search.PsiSearchHelper.SearchCostResult.*
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
@@ -63,7 +64,6 @@ import org.jetbrains.kotlin.idea.search.usagesSearch.getAccessorNames
|
|||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.getClassNameForCompanionObject
|
import org.jetbrains.kotlin.idea.search.usagesSearch.getClassNameForCompanionObject
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|
||||||
import org.jetbrains.kotlin.idea.util.hasActualsFor
|
import org.jetbrains.kotlin.idea.util.hasActualsFor
|
||||||
import org.jetbrains.kotlin.js.resolve.diagnostics.findPsi
|
import org.jetbrains.kotlin.js.resolve.diagnostics.findPsi
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
@@ -123,7 +123,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
|
|||||||
|
|
||||||
private fun isCheapEnoughToSearchUsages(declaration: KtNamedDeclaration): SearchCostResult {
|
private fun isCheapEnoughToSearchUsages(declaration: KtNamedDeclaration): SearchCostResult {
|
||||||
val project = declaration.project
|
val project = declaration.project
|
||||||
val psiSearchHelper = psiSearchHelperInstance(project)
|
val psiSearchHelper = PsiSearchHelper.getInstance(project)
|
||||||
|
|
||||||
val usedScripts = findScriptsWithUsages(declaration)
|
val usedScripts = findScriptsWithUsages(declaration)
|
||||||
if (usedScripts.isNotEmpty()) {
|
if (usedScripts.isNotEmpty()) {
|
||||||
@@ -259,7 +259,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
|
|||||||
|
|
||||||
private fun hasNonTrivialUsages(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor? = null): Boolean {
|
private fun hasNonTrivialUsages(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor? = null): Boolean {
|
||||||
val project = declaration.project
|
val project = declaration.project
|
||||||
val psiSearchHelper = psiSearchHelperInstance(project)
|
val psiSearchHelper = PsiSearchHelper.getInstance(project)
|
||||||
|
|
||||||
val useScope = psiSearchHelper.getUseScope(declaration)
|
val useScope = psiSearchHelper.getUseScope(declaration)
|
||||||
val restrictedScope = if (useScope is GlobalSearchScope) {
|
val restrictedScope = if (useScope is GlobalSearchScope) {
|
||||||
|
|||||||
+1
-2
@@ -41,7 +41,6 @@ import org.jetbrains.kotlin.idea.references.KtSimpleReference
|
|||||||
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.searchReferencesOrMethodReferences
|
import org.jetbrains.kotlin.idea.search.usagesSearch.searchReferencesOrMethodReferences
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType
|
import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType
|
||||||
@@ -187,7 +186,7 @@ class ConvertFunctionTypeParameterToReceiverIntention : SelfTargetingRangeIntent
|
|||||||
runReadAction {
|
runReadAction {
|
||||||
val progressStep = 1.0/callables.size
|
val progressStep = 1.0/callables.size
|
||||||
for ((i, callable) in callables.withIndex()) {
|
for ((i, callable) in callables.withIndex()) {
|
||||||
ProgressManager.getInstance().progressIndicatorNullable!!.fraction = (i + 1) * progressStep
|
ProgressManager.getInstance().progressIndicator!!.fraction = (i + 1) * progressStep
|
||||||
|
|
||||||
if (callable !is PsiNamedElement) continue
|
if (callable !is PsiNamedElement) continue
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -38,7 +38,6 @@ import org.jetbrains.kotlin.idea.references.KtSimpleReference
|
|||||||
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.searchReferencesOrMethodReferences
|
import org.jetbrains.kotlin.idea.search.usagesSearch.searchReferencesOrMethodReferences
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||||
@@ -126,7 +125,7 @@ class ConvertFunctionTypeReceiverToParameterIntention : SelfTargetingRangeIntent
|
|||||||
runReadAction {
|
runReadAction {
|
||||||
val progressStep = 1.0/callables.size
|
val progressStep = 1.0/callables.size
|
||||||
for ((i, callable) in callables.withIndex()) {
|
for ((i, callable) in callables.withIndex()) {
|
||||||
ProgressManager.getInstance().progressIndicatorNullable!!.fraction = (i + 1) * progressStep
|
ProgressManager.getInstance().progressIndicator!!.fraction = (i + 1) * progressStep
|
||||||
|
|
||||||
if (callable !is KtFunction) continue
|
if (callable !is KtFunction) continue
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.idea.references.KtReference
|
|||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.util.hasJvmFieldAnnotation
|
import org.jetbrains.kotlin.idea.util.hasJvmFieldAnnotation
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
@@ -97,7 +96,7 @@ class ConvertPropertyToFunctionIntention : SelfTargetingIntention<KtProperty>(Kt
|
|||||||
runReadAction {
|
runReadAction {
|
||||||
val progressStep = 1.0 / callables.size
|
val progressStep = 1.0 / callables.size
|
||||||
for ((i, callable) in callables.withIndex()) {
|
for ((i, callable) in callables.withIndex()) {
|
||||||
ProgressManager.getInstance().progressIndicatorNullable!!.fraction = (i + 1) * progressStep
|
ProgressManager.getInstance().progressIndicator!!.fraction = (i + 1) * progressStep
|
||||||
|
|
||||||
if (callable !is PsiNamedElement) continue
|
if (callable !is PsiNamedElement) continue
|
||||||
|
|
||||||
|
|||||||
@@ -37,15 +37,14 @@ import org.jetbrains.kotlin.asJava.toLightMethods
|
|||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaClassDescriptor
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
|
import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaClassDescriptor
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMembersHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
||||||
import org.jetbrains.kotlin.idea.refactoring.isAbstract
|
import org.jetbrains.kotlin.idea.refactoring.isAbstract
|
||||||
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.searchInheritors
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.searchInheritors
|
||||||
import org.jetbrains.kotlin.idea.util.PopupChooserBuilderWrapper
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeCommand
|
import org.jetbrains.kotlin.idea.util.application.executeCommand
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
||||||
@@ -214,7 +213,7 @@ abstract class ImplementAbstractMemberIntentionBase :
|
|||||||
selectionMode = ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
|
selectionMode = ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
|
||||||
cellRenderer = renderer
|
cellRenderer = renderer
|
||||||
}
|
}
|
||||||
val builder = PopupChooserBuilderWrapper<PsiElement>(list)
|
val builder = PopupChooserBuilder<PsiElement>(list)
|
||||||
renderer.installSpeedSearch(builder)
|
renderer.installSpeedSearch(builder)
|
||||||
builder
|
builder
|
||||||
.setTitle(CodeInsightBundle.message("intention.implement.abstract.method.class.chooser.title"))
|
.setTitle(CodeInsightBundle.message("intention.implement.abstract.method.class.chooser.title"))
|
||||||
|
|||||||
@@ -16,14 +16,13 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.j2k
|
package org.jetbrains.kotlin.idea.j2k
|
||||||
|
|
||||||
|
import com.intellij.codeInspection.dataFlow.DfaUtil
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.PsiVariable
|
import com.intellij.psi.PsiVariable
|
||||||
import org.jetbrains.kotlin.idea.util.compat.dfaCheckNullability
|
|
||||||
import org.jetbrains.kotlin.idea.util.compat.dfaInferMethodNullability
|
|
||||||
import org.jetbrains.kotlin.j2k.*
|
import org.jetbrains.kotlin.j2k.*
|
||||||
import org.jetbrains.kotlin.j2k.ast.Nullability
|
import org.jetbrains.kotlin.j2k.ast.Nullability
|
||||||
import org.jetbrains.kotlin.idea.util.compat.Nullability as IntellijNullability
|
import com.intellij.codeInsight.Nullability as IntellijNullability
|
||||||
|
|
||||||
object IdeaJavaToKotlinServices : JavaToKotlinConverterServices {
|
object IdeaJavaToKotlinServices : JavaToKotlinConverterServices {
|
||||||
override val referenceSearcher: ReferenceSearcher
|
override val referenceSearcher: ReferenceSearcher
|
||||||
@@ -48,10 +47,10 @@ object IdeaSuperMethodSearcher : SuperMethodsSearcher {
|
|||||||
|
|
||||||
private object IdeaJavaDataFlowAnalyzerFacade : JavaDataFlowAnalyzerFacade {
|
private object IdeaJavaDataFlowAnalyzerFacade : JavaDataFlowAnalyzerFacade {
|
||||||
override fun variableNullability(variable: PsiVariable, context: PsiElement): Nullability =
|
override fun variableNullability(variable: PsiVariable, context: PsiElement): Nullability =
|
||||||
dfaCheckNullability(variable, context).toJ2KNullability()
|
DfaUtil.checkNullability(variable, context).toJ2KNullability()
|
||||||
|
|
||||||
override fun methodNullability(method: PsiMethod): Nullability =
|
override fun methodNullability(method: PsiMethod): Nullability =
|
||||||
dfaInferMethodNullability(method).toJ2KNullability()
|
DfaUtil.inferMethodNullability(method).toJ2KNullability()
|
||||||
|
|
||||||
private fun IntellijNullability.toJ2KNullability() = when (this) {
|
private fun IntellijNullability.toJ2KNullability() = when (this) {
|
||||||
IntellijNullability.UNKNOWN -> Nullability.Default
|
IntellijNullability.UNKNOWN -> Nullability.Default
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
|||||||
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
import org.jetbrains.kotlin.idea.runSynchronouslyWithProgress
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.searchInheritors
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.searchInheritors
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
@@ -73,7 +72,7 @@ class ChangeSuspendInHierarchyFix(
|
|||||||
private fun findAllFunctionToProcess(project: Project): Set<KtNamedFunction> {
|
private fun findAllFunctionToProcess(project: Project): Set<KtNamedFunction> {
|
||||||
val result = LinkedHashSet<KtNamedFunction>()
|
val result = LinkedHashSet<KtNamedFunction>()
|
||||||
|
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable!!
|
val progressIndicator = ProgressManager.getInstance().progressIndicator!!
|
||||||
|
|
||||||
val function = element ?: return emptySet()
|
val function = element ?: return emptySet()
|
||||||
val functionDescriptor = function.unsafeResolveToDescriptor() as FunctionDescriptor
|
val functionDescriptor = function.unsafeResolveToDescriptor() as FunctionDescriptor
|
||||||
|
|||||||
@@ -28,10 +28,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.roots.JavaProjectRootsUtil
|
import com.intellij.openapi.roots.JavaProjectRootsUtil
|
||||||
import com.intellij.openapi.ui.DialogWrapper
|
import com.intellij.openapi.ui.DialogWrapper
|
||||||
import com.intellij.openapi.ui.Messages
|
import com.intellij.openapi.ui.Messages
|
||||||
import com.intellij.openapi.ui.popup.JBPopup
|
import com.intellij.openapi.ui.popup.*
|
||||||
import com.intellij.openapi.ui.popup.JBPopupAdapter
|
|
||||||
import com.intellij.openapi.ui.popup.JBPopupFactory
|
|
||||||
import com.intellij.openapi.ui.popup.LightweightWindowEvent
|
|
||||||
import com.intellij.openapi.util.Pass
|
import com.intellij.openapi.util.Pass
|
||||||
import com.intellij.openapi.util.TextRange
|
import com.intellij.openapi.util.TextRange
|
||||||
import com.intellij.openapi.util.text.StringUtil
|
import com.intellij.openapi.util.text.StringUtil
|
||||||
@@ -272,7 +269,7 @@ fun <T, E : PsiElement> getPsiElementPopup(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return with(PopupChooserBuilderWrapper<E>(list)) {
|
return with(PopupChooserBuilder<E>(list)) {
|
||||||
title?.let { setTitle(it) }
|
title?.let { setTitle(it) }
|
||||||
renderer.installSpeedSearch(this, true)
|
renderer.installSpeedSearch(this, true)
|
||||||
setItemChoosenCallback {
|
setItemChoosenCallback {
|
||||||
|
|||||||
+1
-2
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.KotlinDirecto
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.analyzeConflictsInFile
|
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.analyzeConflictsInFile
|
||||||
import org.jetbrains.kotlin.idea.search.projectScope
|
import org.jetbrains.kotlin.idea.search.projectScope
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinExactPackagesIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinExactPackagesIndex
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -74,7 +73,7 @@ class KotlinAwareDelegatingMoveDestination(
|
|||||||
}
|
}
|
||||||
filesToProcess.flatMap {it.declarations}.forEach { it.accept(extraElementCollector) }
|
filesToProcess.flatMap {it.declarations}.forEach { it.accept(extraElementCollector) }
|
||||||
|
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable!!
|
val progressIndicator = ProgressManager.getInstance().progressIndicator!!
|
||||||
progressIndicator.pushState()
|
progressIndicator.pushState()
|
||||||
|
|
||||||
val extraUsages = ArrayList<UsageInfo>()
|
val extraUsages = ArrayList<UsageInfo>()
|
||||||
|
|||||||
+1
-2
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.idea.refactoring.invokeOnceOnCommandFinish
|
|||||||
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.KotlinDirectoryMoveTarget
|
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.KotlinDirectoryMoveTarget
|
||||||
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.MoveKotlinDeclarationsProcessor
|
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.MoveKotlinDeclarationsProcessor
|
||||||
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.analyzeConflictsInFile
|
import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.analyzeConflictsInFile
|
||||||
import org.jetbrains.kotlin.idea.util.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -86,7 +85,7 @@ class KotlinMoveDirectoryWithClassesHelper : MoveDirectoryWithClassesHelper() {
|
|||||||
for ((index, usageInfo) in infos.withIndex()) {
|
for ((index, usageInfo) in infos.withIndex()) {
|
||||||
if (usageInfo !is FileUsagesWrapper) continue
|
if (usageInfo !is FileUsagesWrapper) continue
|
||||||
|
|
||||||
ProgressManager.getInstance().progressIndicatorNullable?.text2 = "Processing ${usageInfo.psiFile.name}"
|
ProgressManager.getInstance().progressIndicator?.text2 = "Processing ${usageInfo.psiFile.name}"
|
||||||
|
|
||||||
runReadAction {
|
runReadAction {
|
||||||
analyzeConflictsInFile(usageInfo.psiFile, usageInfo.usages, moveTarget, files, conflicts) {
|
analyzeConflictsInFile(usageInfo.psiFile, usageInfo.usages, moveTarget, files, conflicts) {
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.idea.refactoring.fqName.isImported
|
|||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
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.application.progressIndicatorNullable
|
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
|
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -474,7 +473,7 @@ fun postProcessMoveUsages(
|
|||||||
val nonCodeUsages = ArrayList<NonCodeUsageInfo>()
|
val nonCodeUsages = ArrayList<NonCodeUsageInfo>()
|
||||||
|
|
||||||
val progressStep = 1.0/sortedUsages.size
|
val progressStep = 1.0/sortedUsages.size
|
||||||
val progressIndicator = ProgressManager.getInstance().progressIndicatorNullable
|
val progressIndicator = ProgressManager.getInstance().progressIndicator
|
||||||
progressIndicator?.text = "Updating usages..."
|
progressIndicator?.text = "Updating usages..."
|
||||||
usageLoop@ for ((i, usage) in sortedUsages.withIndex()) {
|
usageLoop@ for ((i, usage) in sortedUsages.withIndex()) {
|
||||||
progressIndicator?.fraction = (i + 1) * progressStep
|
progressIndicator?.fraction = (i + 1) * progressStep
|
||||||
|
|||||||
+3
-3
@@ -24,7 +24,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.psi.util.PsiUtil
|
import com.intellij.psi.util.PsiUtil
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
@@ -39,7 +39,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher :
|
|||||||
private val PsiMethod.isDefaultAnnotationMethod: Boolean
|
private val PsiMethod.isDefaultAnnotationMethod: Boolean
|
||||||
get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0
|
get() = PsiUtil.isAnnotationMethod(this) && name == PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME && parameterList.parametersCount == 0
|
||||||
|
|
||||||
private fun createReferenceProcessor(consumer: ExecutorProcessor<PsiReference>) = object : ReadActionProcessor<PsiReference>() {
|
private fun createReferenceProcessor(consumer: Processor<in PsiReference>) = object : ReadActionProcessor<PsiReference>() {
|
||||||
override fun processInReadAction(reference: PsiReference): Boolean {
|
override fun processInReadAction(reference: PsiReference): Boolean {
|
||||||
if (reference !is KtSimpleNameReference) return true
|
if (reference !is KtSimpleNameReference) return true
|
||||||
val annotationEntry = reference.expression.getParentOfTypeAndBranch<KtAnnotationEntry> { typeReference } ?: return true
|
val annotationEntry = reference.expression.getParentOfTypeAndBranch<KtAnnotationEntry> { typeReference } ?: return true
|
||||||
@@ -49,7 +49,7 @@ class DefaultAnnotationMethodKotlinImplicitReferenceSearcher :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
runReadAction {
|
runReadAction {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
if (!method.isDefaultAnnotationMethod) return@runReadAction null
|
if (!method.isDefaultAnnotationMethod) return@runReadAction null
|
||||||
|
|||||||
+2
-2
@@ -25,6 +25,7 @@ import com.intellij.psi.search.LocalSearchScope
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.searches.AnnotatedElementsSearch
|
import com.intellij.psi.search.searches.AnnotatedElementsSearch
|
||||||
import com.intellij.psi.util.PsiUtilCore
|
import com.intellij.psi.util.PsiUtilCore
|
||||||
|
import com.intellij.util.Processor
|
||||||
import com.intellij.util.QueryExecutor
|
import com.intellij.util.QueryExecutor
|
||||||
import com.intellij.util.indexing.FileBasedIndex
|
import com.intellij.util.indexing.FileBasedIndex
|
||||||
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.NO_MATCH
|
import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.NO_MATCH
|
||||||
@@ -32,7 +33,6 @@ import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.UNSURE
|
|||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toPsiParameters
|
import org.jetbrains.kotlin.asJava.toPsiParameters
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.search.PsiBasedClassResolver
|
import org.jetbrains.kotlin.idea.search.PsiBasedClassResolver
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinAnnotationsIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinAnnotationsIndex
|
||||||
@@ -46,7 +46,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|||||||
|
|
||||||
class KotlinAnnotatedElementsSearcher : QueryExecutor<PsiModifierListOwner, AnnotatedElementsSearch.Parameters> {
|
class KotlinAnnotatedElementsSearcher : QueryExecutor<PsiModifierListOwner, AnnotatedElementsSearch.Parameters> {
|
||||||
|
|
||||||
override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: ExecutorProcessor<PsiModifierListOwner>): Boolean {
|
override fun execute(p: AnnotatedElementsSearch.Parameters, consumer: Processor<in PsiModifierListOwner>): Boolean {
|
||||||
return processAnnotatedMembers(p.annotationClass, p.scope) { declaration ->
|
return processAnnotatedMembers(p.annotationClass, p.scope) { declaration ->
|
||||||
when (declaration) {
|
when (declaration) {
|
||||||
is KtClass -> {
|
is KtClass -> {
|
||||||
|
|||||||
+2
-2
@@ -20,8 +20,8 @@ import com.intellij.psi.PsiClass
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.searches.ClassesWithAnnotatedMembersSearch
|
import com.intellij.psi.search.searches.ClassesWithAnnotatedMembersSearch
|
||||||
import com.intellij.psi.search.searches.ScopedQueryExecutor
|
import com.intellij.psi.search.searches.ScopedQueryExecutor
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.search.allScope
|
import org.jetbrains.kotlin.idea.search.allScope
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
@@ -32,7 +32,7 @@ class KotlinClassesWithAnnotatedMembersSearcher : ScopedQueryExecutor<PsiClass,
|
|||||||
return GlobalSearchScope.getScopeRestrictedByFileTypes(param.annotationClass.project.allScope(), KotlinFileType.INSTANCE)
|
return GlobalSearchScope.getScopeRestrictedByFileTypes(param.annotationClass.project.allScope(), KotlinFileType.INSTANCE)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun execute(queryParameters: ClassesWithAnnotatedMembersSearch.Parameters, consumer: ExecutorProcessor<PsiClass>): Boolean {
|
override fun execute(queryParameters: ClassesWithAnnotatedMembersSearch.Parameters, consumer: Processor<in PsiClass>): Boolean {
|
||||||
val processed = hashSetOf<KtClassOrObject>()
|
val processed = hashSetOf<KtClassOrObject>()
|
||||||
return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass,
|
return KotlinAnnotatedElementsSearcher.processAnnotatedMembers(queryParameters.annotationClass,
|
||||||
queryParameters.scope,
|
queryParameters.scope,
|
||||||
|
|||||||
+2
-2
@@ -19,13 +19,13 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions
|
|||||||
import com.intellij.openapi.application.QueryExecutorBase
|
import com.intellij.openapi.application.QueryExecutorBase
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch.SearchParameters
|
import com.intellij.psi.search.searches.MethodReferencesSearch.SearchParameters
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.hasJavaResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.util.hasJavaResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.processDelegationCallConstructorUsages
|
import org.jetbrains.kotlin.idea.search.usagesSearch.processDelegationCallConstructorUsages
|
||||||
|
|
||||||
class KotlinConstructorDelegationCallReferenceSearcher : QueryExecutorBase<PsiReference, SearchParameters>(true) {
|
class KotlinConstructorDelegationCallReferenceSearcher : QueryExecutorBase<PsiReference, SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
if (!method.isConstructor) return
|
if (!method.isConstructor) return
|
||||||
if (!method.hasJavaResolutionFacade()) return
|
if (!method.hasJavaResolutionFacade()) return
|
||||||
|
|||||||
+2
-2
@@ -19,12 +19,12 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions
|
|||||||
import com.intellij.openapi.application.QueryExecutorBase
|
import com.intellij.openapi.application.QueryExecutorBase
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.hasJavaResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.util.hasJavaResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.search.usagesSearch.operators.OperatorReferenceSearcher
|
import org.jetbrains.kotlin.idea.search.usagesSearch.operators.OperatorReferenceSearcher
|
||||||
|
|
||||||
class KotlinConventionMethodReferencesSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
class KotlinConventionMethodReferencesSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
if (!method.hasJavaResolutionFacade()) return
|
if (!method.hasJavaResolutionFacade()) return
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
|||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachImplementation
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachImplementation
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachOverridingMethod
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.forEachOverridingMethod
|
||||||
@@ -43,7 +42,7 @@ import org.jetbrains.kotlin.psi.psiUtil.contains
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSearch.SearchParameters> {
|
class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSearch.SearchParameters> {
|
||||||
override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: ExecutorProcessor<PsiElement>): Boolean {
|
override fun execute(queryParameters: DefinitionsScopedSearch.SearchParameters, consumer: Processor<in PsiElement>): Boolean {
|
||||||
val consumer = skipDelegatedMethodsConsumer(consumer)
|
val consumer = skipDelegatedMethodsConsumer(consumer)
|
||||||
val element = queryParameters.element
|
val element = queryParameters.element
|
||||||
val scope = queryParameters.scope
|
val scope = queryParameters.scope
|
||||||
@@ -92,7 +91,7 @@ class KotlinDefinitionsSearcher : QueryExecutor<PsiElement, DefinitionsScopedSea
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private fun skipDelegatedMethodsConsumer(baseConsumer: ExecutorProcessor<PsiElement>): Processor<PsiElement> {
|
private fun skipDelegatedMethodsConsumer(baseConsumer: Processor<in PsiElement>): Processor<PsiElement> {
|
||||||
return Processor { element ->
|
return Processor { element ->
|
||||||
if (isDelegated(element)) {
|
if (isDelegated(element)) {
|
||||||
return@Processor true
|
return@Processor true
|
||||||
|
|||||||
+2
-2
@@ -21,8 +21,8 @@ import com.intellij.openapi.progress.ProgressManager
|
|||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.toLightClassWithBuiltinMapping
|
import org.jetbrains.kotlin.asJava.toLightClassWithBuiltinMapping
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
||||||
import org.jetbrains.kotlin.idea.search.fileScope
|
import org.jetbrains.kotlin.idea.search.fileScope
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope
|
||||||
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.idea.stubindex.KotlinTypeAliasByExpansionShortNameIn
|
|||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
|
|
||||||
open class KotlinDirectInheritorsSearcher : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
open class KotlinDirectInheritorsSearcher : QueryExecutorBase<PsiClass, DirectClassInheritorsSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: ExecutorProcessor<PsiClass>) {
|
override fun processQuery(queryParameters: DirectClassInheritorsSearch.SearchParameters, consumer: Processor<in PsiClass>) {
|
||||||
val baseClass = queryParameters.classToProcess
|
val baseClass = queryParameters.classToProcess
|
||||||
|
|
||||||
val name = baseClass.name ?: return
|
val name = baseClass.name ?: return
|
||||||
|
|||||||
+3
-3
@@ -24,8 +24,8 @@ import com.intellij.psi.search.UsageSearchContext
|
|||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
import com.intellij.psi.util.MethodSignatureUtil
|
import com.intellij.psi.util.MethodSignatureUtil
|
||||||
import com.intellij.psi.util.TypeConversionUtil
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
||||||
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
import org.jetbrains.kotlin.idea.references.readWriteAccess
|
||||||
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.psi.KtParameter
|
|||||||
import org.jetbrains.kotlin.psi.KtProperty
|
import org.jetbrains.kotlin.psi.KtProperty
|
||||||
|
|
||||||
class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
||||||
override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(p: MethodReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val method = p.method
|
val method = p.method
|
||||||
val isConstructor = p.project.runReadActionInSmartMode { method.isConstructor }
|
val isConstructor = p.project.runReadActionInSmartMode { method.isConstructor }
|
||||||
if (isConstructor) {
|
if (isConstructor) {
|
||||||
@@ -84,7 +84,7 @@ class KotlinOverridingMethodReferenceSearcher : MethodUsagesSearcher() {
|
|||||||
ref: PsiReference,
|
ref: PsiReference,
|
||||||
refElement: PsiElement?,
|
refElement: PsiElement?,
|
||||||
method: PsiMethod,
|
method: PsiMethod,
|
||||||
consumer: ExecutorProcessor<PsiReference>
|
consumer: Processor<in PsiReference>
|
||||||
): Boolean {
|
): Boolean {
|
||||||
val isGetter = JvmAbi.isGetterName(method.name)
|
val isGetter = JvmAbi.isGetterName(method.name)
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -24,7 +24,6 @@ import com.intellij.util.Processor
|
|||||||
import com.intellij.util.QueryExecutor
|
import com.intellij.util.QueryExecutor
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||||
@@ -35,7 +34,7 @@ import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
|||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
|
|
||||||
class KotlinOverridingMethodsWithGenericsSearcher : QueryExecutor<PsiMethod, OverridingMethodsSearch.SearchParameters> {
|
class KotlinOverridingMethodsWithGenericsSearcher : QueryExecutor<PsiMethod, OverridingMethodsSearch.SearchParameters> {
|
||||||
override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: ExecutorProcessor<PsiMethod>): Boolean {
|
override fun execute(p: OverridingMethodsSearch.SearchParameters, consumer: Processor<in PsiMethod>): Boolean {
|
||||||
val method = p.method
|
val method = p.method
|
||||||
if (method !is KtLightMethod) return true
|
if (method !is KtLightMethod) return true
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -22,15 +22,15 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.UsageSearchContext
|
import com.intellij.psi.search.UsageSearchContext
|
||||||
import com.intellij.psi.search.searches.MethodReferencesSearch
|
import com.intellij.psi.search.searches.MethodReferencesSearch
|
||||||
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
|
||||||
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
import org.jetbrains.kotlin.idea.search.restrictToKotlinSources
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtProperty
|
import org.jetbrains.kotlin.psi.KtProperty
|
||||||
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
||||||
|
|
||||||
class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
class KotlinPropertyAccessorsReferenceSearcher : QueryExecutorBase<PsiReference, MethodReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: MethodReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val method = queryParameters.method
|
val method = queryParameters.method
|
||||||
val onlyKotlinFiles = queryParameters.effectiveSearchScope.restrictToKotlinSources()
|
val onlyKotlinFiles = queryParameters.effectiveSearchScope.restrictToKotlinSources()
|
||||||
if (onlyKotlinFiles == GlobalSearchScope.EMPTY_SCOPE) return
|
if (onlyKotlinFiles == GlobalSearchScope.EMPTY_SCOPE) return
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import com.intellij.psi.impl.cache.TodoCacheManager
|
|||||||
import com.intellij.psi.search.IndexPattern
|
import com.intellij.psi.search.IndexPattern
|
||||||
import com.intellij.psi.search.IndexPatternOccurrence
|
import com.intellij.psi.search.IndexPatternOccurrence
|
||||||
import com.intellij.psi.search.searches.IndexPatternSearch
|
import com.intellij.psi.search.searches.IndexPatternSearch
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
import org.jetbrains.kotlin.psi.KtTreeVisitorVoid
|
import org.jetbrains.kotlin.psi.KtTreeVisitorVoid
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ data class KotlinTodoOccurrence(private val _file: PsiFile, private val _textRan
|
|||||||
}
|
}
|
||||||
|
|
||||||
class KotlinTodoSearcher : QueryExecutorBase<IndexPatternOccurrence, IndexPatternSearch.SearchParameters>(true) {
|
class KotlinTodoSearcher : QueryExecutorBase<IndexPatternOccurrence, IndexPatternSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: ExecutorProcessor<IndexPatternOccurrence>) {
|
override fun processQuery(queryParameters: IndexPatternSearch.SearchParameters, consumer: Processor<in IndexPatternOccurrence>) {
|
||||||
var pattern = queryParameters.pattern
|
var pattern = queryParameters.pattern
|
||||||
if (pattern != null && !pattern.patternString.contains("TODO", true)) return
|
if (pattern != null && !pattern.patternString.contains("TODO", true)) return
|
||||||
if (pattern == null) {
|
if (pattern == null) {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.slicer
|
package org.jetbrains.kotlin.idea.slicer
|
||||||
|
|
||||||
|
import com.intellij.codeInsight.Nullability
|
||||||
import com.intellij.ide.util.treeView.AbstractTreeStructure
|
import com.intellij.ide.util.treeView.AbstractTreeStructure
|
||||||
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
@@ -27,8 +28,6 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
|||||||
import org.jetbrains.kotlin.idea.references.KtReference
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
import org.jetbrains.kotlin.idea.references.mainReference
|
import org.jetbrains.kotlin.idea.references.mainReference
|
||||||
import org.jetbrains.kotlin.idea.slicer.compat.PsiElement_N183_NN191
|
import org.jetbrains.kotlin.idea.slicer.compat.PsiElement_N183_NN191
|
||||||
import org.jetbrains.kotlin.idea.util.compat.Nullability
|
|
||||||
import org.jetbrains.kotlin.idea.util.compat.SliceNullnessAnalyzerBaseEx
|
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isPlainWithEscapes
|
import org.jetbrains.kotlin.psi.psiUtil.isPlainWithEscapes
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
||||||
@@ -50,8 +49,8 @@ class KotlinSliceProvider : SliceLanguageSupportProvider, SliceUsageTransformer
|
|||||||
|
|
||||||
val leafAnalyzer by lazy { SliceLeafAnalyzer(LEAF_ELEMENT_EQUALITY, this) }
|
val leafAnalyzer by lazy { SliceLeafAnalyzer(LEAF_ELEMENT_EQUALITY, this) }
|
||||||
val nullnessAnalyzer: SliceNullnessAnalyzerBase by lazy {
|
val nullnessAnalyzer: SliceNullnessAnalyzerBase by lazy {
|
||||||
object : SliceNullnessAnalyzerBaseEx(LEAF_ELEMENT_EQUALITY, this) {
|
object : SliceNullnessAnalyzerBase(LEAF_ELEMENT_EQUALITY, this) {
|
||||||
override fun checkNullabilityEx(element: PsiElement?): Nullability {
|
override fun checkNullability(element: PsiElement?): Nullability {
|
||||||
val types = when (element) {
|
val types = when (element) {
|
||||||
is KtCallableDeclaration -> listOfNotNull((element.resolveToDescriptorIfAny() as? CallableDescriptor)?.returnType)
|
is KtCallableDeclaration -> listOfNotNull((element.resolveToDescriptorIfAny() as? CallableDescriptor)?.returnType)
|
||||||
is KtDeclaration -> emptyList()
|
is KtDeclaration -> emptyList()
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.util
|
|
||||||
|
|
||||||
import com.intellij.openapi.ui.popup.PopupChooserBuilder
|
|
||||||
import javax.swing.JList
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
@Suppress("IncompatibleAPI")
|
|
||||||
class PopupChooserBuilderWrapper<T>(list: JList<T>): PopupChooserBuilder<T>(list)
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
@file:Suppress("MissingRecentApi", "IncompatibleAPI")
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.util.compat
|
|
||||||
|
|
||||||
import com.intellij.codeInsight.Nullability as IntellijNullability
|
|
||||||
import com.intellij.codeInspection.dataFlow.DfaUtil
|
|
||||||
import com.intellij.psi.PsiElement
|
|
||||||
import com.intellij.psi.PsiMethod
|
|
||||||
import com.intellij.psi.PsiVariable
|
|
||||||
import com.intellij.slicer.SliceLanguageSupportProvider
|
|
||||||
import com.intellij.slicer.SliceLeafEquality
|
|
||||||
import com.intellij.slicer.SliceNullnessAnalyzerBase
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
typealias Nullability = IntellijNullability
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
fun dfaCheckNullability(variable: PsiVariable?, context: PsiElement?): Nullability =
|
|
||||||
DfaUtil.checkNullability(variable, context)
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
fun dfaInferMethodNullability(method: PsiMethod): Nullability =
|
|
||||||
DfaUtil.inferMethodNullability(method)
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
abstract class SliceNullnessAnalyzerBaseEx(
|
|
||||||
leafEquality: SliceLeafEquality,
|
|
||||||
provider: SliceLanguageSupportProvider
|
|
||||||
) : SliceNullnessAnalyzerBase(leafEquality, provider) {
|
|
||||||
override fun checkNullability(element: PsiElement?): Nullability {
|
|
||||||
return checkNullabilityEx(element)
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract fun checkNullabilityEx(element: PsiElement?): Nullability
|
|
||||||
}
|
|
||||||
@@ -10,7 +10,7 @@ import com.intellij.openapi.util.Computable;
|
|||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase;
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.kotlin.test.HierarchyViewTestFixture;
|
import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture;
|
||||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner;
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
|||||||
@@ -221,9 +221,7 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
|||||||
|
|
||||||
private fun createTestModuleByName(name: String): Module {
|
private fun createTestModuleByName(name: String): Module {
|
||||||
val newModuleDir = runWriteAction { VfsUtil.createDirectoryIfMissing(project.baseDir, name) }
|
val newModuleDir = runWriteAction { VfsUtil.createDirectoryIfMissing(project.baseDir, name) }
|
||||||
|
val newModule = createModuleAt(name, project, JavaModuleType.getModuleType(), newModuleDir.path)
|
||||||
// BUNCH: 181
|
|
||||||
@Suppress("IncompatibleAPI") val newModule = createModuleAt(name, project, JavaModuleType.getModuleType(), newModuleDir.path)
|
|
||||||
|
|
||||||
// Return type was changed, but it's not used. BUNCH: 183
|
// Return type was changed, but it's not used. BUNCH: 183
|
||||||
@Suppress("MissingRecentApi")
|
@Suppress("MissingRecentApi")
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.test
|
|
||||||
|
|
||||||
import com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture
|
|
||||||
|
|
||||||
// BUNCH: 181
|
|
||||||
@Suppress("IncompatibleAPI")
|
|
||||||
class HierarchyViewTestFixture : HierarchyViewTestFixture()
|
|
||||||
@@ -1,145 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
||||||
* that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.test;
|
|
||||||
|
|
||||||
import com.intellij.ide.hierarchy.HierarchyNodeDescriptor;
|
|
||||||
import com.intellij.ide.hierarchy.HierarchyTreeStructure;
|
|
||||||
import com.intellij.openapi.util.JDOMUtil;
|
|
||||||
import org.jdom.Element;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import org.junit.Assert;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copied from com.intellij.testFramework.codeInsight.hierarchy.HierarchyViewTestFixture for compatibility reasons.
|
|
||||||
*
|
|
||||||
* Use org.jetbrains.kotlin.test.HierarchyViewTestFixture typealias instead.
|
|
||||||
*
|
|
||||||
* BUNCH: 181
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("ALL")
|
|
||||||
public class HierarchyViewTestFixtureCompat {
|
|
||||||
private static final String NODE_ELEMENT_NAME = "node";
|
|
||||||
private static final String ANY_NODES_ELEMENT_NAME = "any";
|
|
||||||
private static final String TEXT_ATTR_NAME = "text";
|
|
||||||
private static final String BASE_ATTR_NAME = "base";
|
|
||||||
|
|
||||||
public void doHierarchyTest(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@NotNull String expectedStructure) {
|
|
||||||
try {
|
|
||||||
checkHierarchyTreeStructure(treeStructure, JDOMUtil.load(expectedStructure));
|
|
||||||
}
|
|
||||||
catch (Throwable e) {
|
|
||||||
Assert.assertEquals("XML structure comparison for your convenience, actual failure details BELOW",
|
|
||||||
expectedStructure, dump(treeStructure, null, 0));
|
|
||||||
//noinspection CallToPrintStackTrace
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static String dump(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@Nullable HierarchyNodeDescriptor descriptor,
|
|
||||||
int level) {
|
|
||||||
StringBuilder s = new StringBuilder();
|
|
||||||
dump(treeStructure, descriptor, level, s);
|
|
||||||
return s.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void dump(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@Nullable HierarchyNodeDescriptor descriptor,
|
|
||||||
int level,
|
|
||||||
@NotNull StringBuilder b) {
|
|
||||||
if (level > 10) {
|
|
||||||
for (int i = 0; i < level; i++) b.append(" ");
|
|
||||||
b.append("<Probably infinite part skipped>\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (descriptor == null) descriptor = (HierarchyNodeDescriptor)treeStructure.getRootElement();
|
|
||||||
for (int i = 0; i < level; i++) b.append(" ");
|
|
||||||
descriptor.update();
|
|
||||||
b.append("<node text=\"").append(descriptor.getHighlightedText().getText()).append("\"")
|
|
||||||
.append(treeStructure.getBaseDescriptor() == descriptor ? " base=\"true\"" : "");
|
|
||||||
|
|
||||||
Object[] children = treeStructure.getChildElements(descriptor);
|
|
||||||
if (children.length > 0) {
|
|
||||||
b.append(">\n");
|
|
||||||
for (Object o : children) {
|
|
||||||
HierarchyNodeDescriptor d = (HierarchyNodeDescriptor)o;
|
|
||||||
dump(treeStructure, d, level + 1, b);
|
|
||||||
}
|
|
||||||
for (int i = 0; i < level; i++) b.append(" ");
|
|
||||||
b.append("</node>\n");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
b.append("/>\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkHierarchyTreeStructure(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@Nullable Element rootElement) {
|
|
||||||
HierarchyNodeDescriptor rootNodeDescriptor = (HierarchyNodeDescriptor)treeStructure.getRootElement();
|
|
||||||
rootNodeDescriptor.update();
|
|
||||||
if (rootElement == null || !NODE_ELEMENT_NAME.equals(rootElement.getName())) {
|
|
||||||
throw new IllegalArgumentException("Incorrect root element in verification resource");
|
|
||||||
}
|
|
||||||
checkNodeDescriptorRecursively(treeStructure, rootNodeDescriptor, rootElement);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkNodeDescriptorRecursively(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@NotNull HierarchyNodeDescriptor descriptor,
|
|
||||||
@NotNull Element expectedElement) {
|
|
||||||
checkBaseNode(treeStructure, descriptor, expectedElement);
|
|
||||||
checkContent(descriptor, expectedElement);
|
|
||||||
checkChildren(treeStructure, descriptor, expectedElement);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkBaseNode(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@NotNull HierarchyNodeDescriptor descriptor,
|
|
||||||
@NotNull Element expectedElement) {
|
|
||||||
String baseAttrValue = expectedElement.getAttributeValue(BASE_ATTR_NAME);
|
|
||||||
HierarchyNodeDescriptor baseDescriptor = treeStructure.getBaseDescriptor();
|
|
||||||
boolean mustBeBase = "true".equalsIgnoreCase(baseAttrValue);
|
|
||||||
Assert.assertTrue("Incorrect base node", mustBeBase ? baseDescriptor == descriptor : baseDescriptor != descriptor);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkContent(@NotNull HierarchyNodeDescriptor descriptor,
|
|
||||||
@NotNull Element expectedElement) {
|
|
||||||
Assert.assertEquals(expectedElement.getAttributeValue(TEXT_ATTR_NAME), descriptor.getHighlightedText().getText());
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkChildren(@NotNull HierarchyTreeStructure treeStructure,
|
|
||||||
@NotNull HierarchyNodeDescriptor descriptor,
|
|
||||||
@NotNull Element element) {
|
|
||||||
if (element.getChild(ANY_NODES_ELEMENT_NAME) != null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Object[] children = treeStructure.getChildElements(descriptor);
|
|
||||||
//noinspection unchecked
|
|
||||||
List<Element> expectedChildren = new ArrayList<>(element.getChildren(NODE_ELEMENT_NAME));
|
|
||||||
|
|
||||||
StringBuilder messageBuilder = new StringBuilder("Actual children of [" + descriptor.getHighlightedText().getText() + "]:\n");
|
|
||||||
for (Object child : children) {
|
|
||||||
HierarchyNodeDescriptor nodeDescriptor = (HierarchyNodeDescriptor)child;
|
|
||||||
nodeDescriptor.update();
|
|
||||||
messageBuilder.append(" [").append(nodeDescriptor.getHighlightedText().getText()).append("]\n");
|
|
||||||
}
|
|
||||||
Assert.assertEquals(messageBuilder.toString(), expectedChildren.size(), children.length);
|
|
||||||
|
|
||||||
Arrays.sort(children, Comparator.comparing(child -> ((HierarchyNodeDescriptor)child).getHighlightedText().getText()));
|
|
||||||
|
|
||||||
Collections.sort(expectedChildren, Comparator.comparing(child -> child.getAttributeValue(TEXT_ATTR_NAME)));
|
|
||||||
|
|
||||||
//noinspection unchecked
|
|
||||||
Iterator<Element> iterator = expectedChildren.iterator();
|
|
||||||
for (Object child : children) {
|
|
||||||
checkNodeDescriptorRecursively(treeStructure, ((HierarchyNodeDescriptor)child), iterator.next());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -335,8 +335,6 @@ open class DelegatingProgressIndicator : WrappedProgressIndicator, StandardProgr
|
|||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
// BUNCH: 181
|
|
||||||
@Suppress("IncompatibleAPI")
|
|
||||||
val indicator: ProgressIndicator? = ProgressManager.getInstance().progressIndicator
|
val indicator: ProgressIndicator? = ProgressManager.getInstance().progressIndicator
|
||||||
delegate = indicator ?: EmptyProgressIndicator()
|
delegate = indicator ?: EmptyProgressIndicator()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import com.intellij.psi.PsiReference
|
|||||||
import com.intellij.psi.search.LocalSearchScope
|
import com.intellij.psi.search.LocalSearchScope
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import com.intellij.psi.xml.XmlAttributeValue
|
import com.intellij.psi.xml.XmlAttributeValue
|
||||||
import org.jetbrains.kotlin.compatibility.ExecutorProcessor
|
import com.intellij.util.Processor
|
||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
import org.jetbrains.kotlin.idea.references.KtSimpleNameReference
|
||||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.source.getPsi
|
|||||||
|
|
||||||
|
|
||||||
class AndroidExtensionsReferenceSearchExecutor : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>(true) {
|
class AndroidExtensionsReferenceSearchExecutor : QueryExecutorBase<PsiReference, ReferencesSearch.SearchParameters>(true) {
|
||||||
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: ExecutorProcessor<PsiReference>) {
|
override fun processQuery(queryParameters: ReferencesSearch.SearchParameters, consumer: Processor<in PsiReference>) {
|
||||||
val elementToSearch = queryParameters.elementToSearch as? XmlAttributeValue ?: return
|
val elementToSearch = queryParameters.elementToSearch as? XmlAttributeValue ?: return
|
||||||
val scopeElements = (queryParameters.effectiveSearchScope as? LocalSearchScope)?.scope ?: return
|
val scopeElements = (queryParameters.effectiveSearchScope as? LocalSearchScope)?.scope ?: return
|
||||||
val referenceName = elementToSearch.value?.substringAfterLast("/") ?: return
|
val referenceName = elementToSearch.value?.substringAfterLast("/") ?: return
|
||||||
|
|||||||
Reference in New Issue
Block a user