JDK27 removed com.sun.tools.javac.tree.EndPosTable and stores end
positions directly on tree nodes (JDK-8372948). Lombok resolved that
class in a static initializer and rethrew on failure, so the processor
never initialized and every compilation on JDK27 failed.
- Javac: probe for EndPosTable; when absent, use the no-arg
DiagnosticPosition.getEndPosition() and write JCTree.endpos directly
- CommentCatcher: skip setting genEndPos where the field no longer exists
- new java27 parser factory: JDK27 dropped the keepEndPositions
parameter from JavacParser and ParserFactory.newParser
- DocCommentIntegrator: implement the new no-arg getEndPosition()
- PrettyPrinter: drop an unused reflective getEndPosition lookup that
would fail class init on JDK27
- add an opt-in test.javac27 target
Fixes#4072