mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-03 07:13:15 +00:00
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