Do not try to add type parameter to non-writable declaration (EA-209570)
This commit is contained in:
+1
@@ -90,6 +90,7 @@ object CreateTypeParameterByUnresolvedRefActionFactory : KotlinIntentionActionFa
|
|||||||
QuickFixWithDelegateFactory factory@{
|
QuickFixWithDelegateFactory factory@{
|
||||||
val originalElement = originalElementPointer.element ?: return@factory null
|
val originalElement = originalElementPointer.element ?: return@factory null
|
||||||
val data = quickFixDataFactory()?.copy(declaration = it) ?: return@factory null
|
val data = quickFixDataFactory()?.copy(declaration = it) ?: return@factory null
|
||||||
|
if (!data.declaration.isWritable) return@factory null
|
||||||
CreateTypeParameterFromUsageFix(originalElement, data, presentTypeParameterNames = true)
|
CreateTypeParameterFromUsageFix(originalElement, data, presentTypeParameterNames = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -64,6 +64,7 @@ class CreateTypeParameterFromUsageFix(
|
|||||||
|
|
||||||
fun doInvoke(): List<KtTypeParameter> {
|
fun doInvoke(): List<KtTypeParameter> {
|
||||||
val declaration = data.declaration
|
val declaration = data.declaration
|
||||||
|
if (!declaration.isWritable) return emptyList()
|
||||||
val project = declaration.project
|
val project = declaration.project
|
||||||
val usages = project.runSynchronouslyWithProgress("Searching ${declaration.name}...", true) {
|
val usages = project.runSynchronouslyWithProgress("Searching ${declaration.name}...", true) {
|
||||||
runReadAction {
|
runReadAction {
|
||||||
|
|||||||
+1
@@ -79,6 +79,7 @@ object CreateTypeParameterUnmatchedTypeArgumentActionFactory : KotlinIntentionAc
|
|||||||
return QuickFixWithDelegateFactory factory@ {
|
return QuickFixWithDelegateFactory factory@ {
|
||||||
val originalElement = originalElementPointer.element ?: return@factory null
|
val originalElement = originalElementPointer.element ?: return@factory null
|
||||||
val data = quickFixDataFactory() ?: return@factory null
|
val data = quickFixDataFactory() ?: return@factory null
|
||||||
|
if (!data.declaration.isWritable) return@factory null
|
||||||
CreateTypeParameterFromUsageFix(originalElement, data, false)
|
CreateTypeParameterFromUsageFix(originalElement, data, false)
|
||||||
}.let(::listOf)
|
}.let(::listOf)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user