QuickFixes: variable number of intention actions depending on the parameter inside the DiagnosticWithParameters1


#1

I know you can map multiple JetIntentionActionFactorys to the same error, but the number of factories you can map to it is fixed. How can I map a variable number of intention actions to the same error inside the factory itself? Is it even possible?

For context, I am working on PLATFORM_CLASS_MAPPED_TO_KOTLIN, and there may be multiple Kotlin classes that map to the same platform class.


#2

You can't do it this way, but there's a better way of doing it. One of my colleagues is working on a silimal thing now, have a look at his code in this branch: https://github.com/JetBrains/kotlin/tree/specify-explicitly-ref


#3

Okay, after our meeting today I thought a little bit more about how to give an option to the user and fix all sites. I came up with two possible routes, neither of which I know how to pursue. One way would be to show the options and then somehow listen to the event that says the user has selected something, and figure out what he selected. The other would be to somehow have TemplateBuilder replace multiple sites simultaneously. I don't think TemplateBuilder is equipped to do either of these. Could you provide some advice on how to proceed?


#4

Newer version of the same code works has this issue worked out: https://github.com/JetBrains/kotlin/tree/specify-explicit-ref2