delayedRequestsWaitingSet: cleanup code
This commit is contained in:
+11
-11
@@ -16,19 +16,19 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.codeInsight.shorten
|
package org.jetbrains.kotlin.idea.codeInsight.shorten
|
||||||
|
|
||||||
import com.intellij.openapi.project.Project
|
|
||||||
import com.intellij.psi.SmartPsiElementPointer
|
|
||||||
import com.intellij.openapi.util.Key
|
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.psi.SmartPointerManager
|
|
||||||
import com.intellij.openapi.diagnostic.Logger
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.util.Key
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiMember
|
import com.intellij.psi.PsiMember
|
||||||
|
import com.intellij.psi.SmartPointerManager
|
||||||
|
import com.intellij.psi.SmartPsiElementPointer
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaMemberDescriptor
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences.Options
|
import org.jetbrains.kotlin.idea.caches.resolve.util.getJavaMemberDescriptor
|
||||||
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
import org.jetbrains.kotlin.idea.core.ShortenReferences
|
||||||
|
import org.jetbrains.kotlin.idea.core.ShortenReferences.Options
|
||||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer
|
import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer
|
||||||
@@ -40,8 +40,8 @@ interface DelayedRefactoringRequest
|
|||||||
|
|
||||||
class ShorteningRequest(val pointer: SmartPsiElementPointer<KtElement>, val options: Options) : DelayedRefactoringRequest
|
class ShorteningRequest(val pointer: SmartPsiElementPointer<KtElement>, val options: Options) : DelayedRefactoringRequest
|
||||||
class ImportRequest(
|
class ImportRequest(
|
||||||
val elementToImportPointer: SmartPsiElementPointer<PsiElement>,
|
val elementToImportPointer: SmartPsiElementPointer<PsiElement>,
|
||||||
val filePointer: SmartPsiElementPointer<KtFile>
|
val filePointer: SmartPsiElementPointer<KtFile>
|
||||||
) : DelayedRefactoringRequest
|
) : DelayedRefactoringRequest
|
||||||
|
|
||||||
private var Project.delayedRefactoringRequests: MutableSet<DelayedRefactoringRequest>?
|
private var Project.delayedRefactoringRequests: MutableSet<DelayedRefactoringRequest>?
|
||||||
@@ -103,7 +103,7 @@ fun performDelayedRefactoringRequests(project: Project) {
|
|||||||
val elementToOptions = shorteningRequests.mapNotNull { req -> req.pointer.element?.let { it to req.options } }.toMap()
|
val elementToOptions = shorteningRequests.mapNotNull { req -> req.pointer.element?.let { it to req.options } }.toMap()
|
||||||
val elements = elementToOptions.keys
|
val elements = elementToOptions.keys
|
||||||
//TODO: this is not correct because it should not shorten deep into the elements!
|
//TODO: this is not correct because it should not shorten deep into the elements!
|
||||||
ShortenReferences({ elementToOptions[it] ?: Options.DEFAULT }).process(elements)
|
ShortenReferences { elementToOptions[it] ?: Options.DEFAULT }.process(elements)
|
||||||
|
|
||||||
val importInsertHelper = ImportInsertHelper.getInstance(project)
|
val importInsertHelper = ImportInsertHelper.getInstance(project)
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ private val LOG = Logger.getInstance(Project::class.java.canonicalName)
|
|||||||
|
|
||||||
fun prepareDelayedRequests(project: Project) {
|
fun prepareDelayedRequests(project: Project) {
|
||||||
val requests = project.delayedRefactoringRequests
|
val requests = project.delayedRefactoringRequests
|
||||||
if (project.ensureNoRefactoringRequestsBeforeRefactoring && requests != null && !requests.isEmpty()) {
|
if (project.ensureNoRefactoringRequestsBeforeRefactoring && requests != null && requests.isNotEmpty()) {
|
||||||
LOG.warn("Waiting set for reference shortening is not empty")
|
LOG.warn("Waiting set for reference shortening is not empty")
|
||||||
project.delayedRefactoringRequests = null
|
project.delayedRefactoringRequests = null
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ var KtElement.isToBeShortened: Boolean? by CopyablePsiUserDataProperty(Key.creat
|
|||||||
|
|
||||||
fun KtElement.addToBeShortenedDescendantsToWaitingSet() {
|
fun KtElement.addToBeShortenedDescendantsToWaitingSet() {
|
||||||
forEachDescendantOfType<KtElement> {
|
forEachDescendantOfType<KtElement> {
|
||||||
if (it.isToBeShortened ?: false) {
|
if (it.isToBeShortened == true) {
|
||||||
it.isToBeShortened = null
|
it.isToBeShortened = null
|
||||||
it.addToShorteningWaitSet()
|
it.addToShorteningWaitSet()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user