Create Test: Postpone J2K conversion until smart mode (matters if the user decides to add library in the Create Test dialog)
This commit is contained in:
committed by
Alexey Sedunov
parent
b6c01c0f94
commit
3ba55914c1
@@ -31,3 +31,7 @@ public fun <T> Project.runWithAlternativeResolveEnabled(action: () -> T): T {
|
|||||||
@Suppress("USELESS_CAST")
|
@Suppress("USELESS_CAST")
|
||||||
return result as T
|
return result as T
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public fun Project.runWhenSmart(action: () -> Unit) {
|
||||||
|
DumbService.getInstance(this).runWhenSmart(action)
|
||||||
|
}
|
||||||
@@ -43,6 +43,7 @@ import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingRangeIntention
|
|||||||
import org.jetbrains.kotlin.idea.util.application.executeCommand
|
import org.jetbrains.kotlin.idea.util.application.executeCommand
|
||||||
import org.jetbrains.kotlin.idea.util.runWithAlternativeResolveEnabled
|
import org.jetbrains.kotlin.idea.util.runWithAlternativeResolveEnabled
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
|
import org.jetbrains.kotlin.idea.util.runWhenSmart
|
||||||
import org.jetbrains.kotlin.psi.KtClass
|
import org.jetbrains.kotlin.psi.KtClass
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
import org.jetbrains.kotlin.psi.KtEnumEntry
|
||||||
@@ -133,9 +134,8 @@ class KotlinCreateTestIntention : JetSelfTargetingRangeIntention<KtClassOrObject
|
|||||||
}
|
}
|
||||||
} as? PsiClass ?: return
|
} as? PsiClass ?: return
|
||||||
|
|
||||||
|
project.runWhenSmart {
|
||||||
|
val generatedFile = generatedClass.containingFile as? PsiJavaFile ?: return@runWhenSmart
|
||||||
val generatedFile = generatedClass.containingFile as? PsiJavaFile ?: return
|
|
||||||
|
|
||||||
if (generatedClass.language == JavaLanguage.INSTANCE) {
|
if (generatedClass.language == JavaLanguage.INSTANCE) {
|
||||||
project.executeCommand("Convert class '${generatedClass.name}' to Kotlin", this) {
|
project.executeCommand("Convert class '${generatedClass.name}' to Kotlin", this) {
|
||||||
@@ -163,6 +163,7 @@ class KotlinCreateTestIntention : JetSelfTargetingRangeIntention<KtClassOrObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}.invoke(element.project, editor, element.toLightClass()!!)
|
}.invoke(element.project, editor, element.toLightClass()!!)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user