You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When formatting files with google-java-format, the parser uses the same source version as its own runtime version (running google-java-format on JDK X implies that that Java source files are conformant with JDK X), but this is actually not necessary true and files may be aiming for a different (older) Java version. Nowadays it is a common pattern to use --release flag to compiler for a specific older version of the language using a newer JDK.
Unfortunately Java language is not fully backward compatible and some features have introduced breaking changes like reserved identifiers var, with, yieldorrecord` (see current list in JLS Section 3.8)
For files who were designed to compile with an older Java version and who are using now reserved identifiers, this cause their processing with google-java-format using a recent JDK version to fail.
A solution would be to allow to pass either the source or the release option to the java parser to adapt its own parsing to the java version used by the file.
The text was updated successfully, but these errors were encountered:
When formatting files with
google-java-format
, the parser uses the same source version as its own runtime version (runninggoogle-java-format
on JDK X implies that that Java source files are conformant with JDKX
), but this is actually not necessary true and files may be aiming for a different (older) Java version. Nowadays it is a common pattern to use--release
flag to compiler for a specific older version of the language using a newer JDK.Unfortunately Java language is not fully backward compatible and some features have introduced breaking changes like reserved identifiers
var
,with,
yieldor
record` (see current list in JLS Section 3.8)For files who were designed to compile with an older Java version and who are using now reserved identifiers, this cause their processing with
google-java-format
using a recent JDK version to fail.A solution would be to allow to pass either the
source
or therelease
option to the java parser to adapt its own parsing to the java version used by the file.The text was updated successfully, but these errors were encountered: