Some users of my plugin get java.lang.NoSuchMethodError: com.intellij.lang.parser.GeneratedParserUtilBase.enter_section_ Follow
I have a few bugs (https://github.com/KronicDeth/intellij-elixir/issues/402 and https://github.com/KronicDeth/intellij-elixir/issues/391) where users are getting `java.lang.NoSuchMethodError: com.intellij.lang.parser.GeneratedParserUtilBase.enter_section_`. I am unable to reproduce using IntelliJ. I build the plugin with IntelliJ CE 14.1 and am trying to support all versions after that point. I use IntelliJ 2016.2 myself with the plugin. Are there versions of Rubymine or other single-language IDEs that would not have `com.intellij.lang.parser.GeneratedParserUtilBase.enter_section_` that I should be testing against?
I haven't converted to the gradle plugin builder yet (it has a bug with using the wrong Java version for JSP), so I'm using Build Artifacts with these META-INF files https://github.com/KronicDeth/intellij-elixir/tree/703a150a7a897693c1c7dcacdcf2f7078b475de4/src/META-INF
Please sign in to leave a comment.
I'd assume there must have been an incompatible change in GeneratedParserUtilBase. You could try providing custom one using the version from GrammarKit plugin (same version you're generating with).
I see from the git history (https://github.com/JetBrains/intellij-community/commits/master/platform/lang-impl/src/com/intellij/lang/parser/GeneratedParserUtilBase.java) that the com.intellij.lang.parser.GeneratedParserUtilBase is periodically synced to intellij-community, so my use case of using the lastest GrammarKit with IntelliJ 14.1 shouldn't necessarily work as you said. Should I change the import so it uses the version from GrammarKit, org.intellij.grammar.parser.GeneratedParserUtilBase (how do I include it then) or do I need to copy that file into my plugin's namespace, org.elixir_lang, so that my plugins version of GeneratedParserUtiBase won't conflict when the user has GrammarKit installed as a plugin?
I went with shipping a copy in my own namespace https://github.com/KronicDeth/intellij-elixir/pull/406
Yep, that's the solution I had in mind.