Hi Eric,

First and foremost, you should know that my view on the overall issues surrounding these changes is minimize breaking changes with the requirement that ANTLR 4 support the creation, distribution, and maintenance of reliable implementations of other language targets. We *will* find a way to make the Python target work, even if I request a few changes before merging the related pull requests.

This particular line is part of the generated code for the Java target, and is completely unrelated to the Python target. In addition, I believe you have misinterpreted the desired compatibility goals. I'm interested in ensuring that a **.class** file produced by javac, from a grammar generated by and compiled against ANTLR 4.1, will continue to work with future ANTLR runtime releases. Since this applies only to the generated code in combination with the runtime library, issues with the Java target again do not impact any other target.

* Grammars generated by and compiled against ANTLR 4.x.y1 should continue to work with ANTLR runtime 4.x.y2, provided that y2 >= y1.
* Where possible, grammars generated by and compiled against ANTLR 4.x1 should continue to work with ANTLR Runtime 4.x2, provided that x2 >= x1. This guarantee is loose, but points of incompatibility are documented in the breaking changes section of the release notes and we strive to limit them to cases where users are overriding the default parsing behavior and/or using embedded actions in the grammar. We started work on this issue with ANTLR 4.1, and have done an exceptional job of preserving compatibility through 4.2.2.

In addressing compatibility problems related to developing the Python target (or other targets), no changes should be *required* to the ANTLR 4 Java Runtime or code generation templates. If changes to the Tool do require changes be made to the Java code generation templates, they should be structural only and not impact the actual code generated by the templates (i.e. behavior-preserving refactoring operations only). I fully expect changes to be made to the ANTLR 4 Tool, but plan to work to minimize their overall impact. As always, any potentially breaking changes will be tracked and documented in the release notes.