fix(java): bundle Lombok with the ECJ constructor-call fix (#1027)

JDT LS 1.63's ECJ 3.46.200 keeps a constructor's super()/this() call as the first of its statements. Lombok 1.18.48 wrapped that call in the @SneakyThrows try block (ECJ internal error, whole workspace build failed), emitted @NonNull checks before it, and generated constructors without it.

The bundled agent is now 1.18.48-openidea.2: v1.18.48 with lombok#4059 and the upstream constructor-call fix lombok#4089. The new file name gives JDT LS a new workspace, so classes from the previous agent are rebuilt.

Fixes #1000
Fixes #830
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-03 19:07:33 +08:00
1 джерело efd03630b6
коміт d54e852c38
8 files changed
+61 -26

No files matched your search

+1 -1
Переглянути файл
@@ -884,7 +884,7 @@ mod tests {
configure_jdtls(&mut plain, Path::new("/p"), Path::new("/data"), &[], None, None, JDTLS_MIN_JAVA, &[], None);
let data = |c: &LanguageServerConfig| c.args[c.args.iter().position(|a| a == "-data").unwrap() + 1].clone();
assert_ne!(data(&cfg), data(&plain), "a separate workspace, so everything is rebuilt with the agent");
let patched = Path::new("/managed/lombok-1.18.48-openidea.1.jar");
let patched = Path::new("/managed/lombok-1.18.48-openidea.2.jar");
let mut fixed = jdtls();
configure_jdtls(
&mut fixed,