I found a reproducible case where the compiler emits "Missing code implementation in the compiler", when I was implementing a Stream Gatherer.
At first I assumed a bug (missing implementation) in EJC, but after investigation and reducing the code to a minimal example, I found out that the issue is actually that I tried to access a local variable (in this case a parameter) within a static context of a local class (used as a Gatherer state object). Compiling the minimal example below with javac also fails, but with a better error message "error: non-static variable parameter cannot be referenced from a static context"
So it seems that this is a use case that is not handled correctly by EJC. But as the expected behavior is that the compilation fails with an error, all that is wrong (from a users perspective) is that the error message is wrong and misleading.
public class MissingCodeImplementationInTheCompiler {
public static void combine(Object parameter) {
class Local {
static void method() {
System.out.println(parameter); // Causes "Missing code implementation in the compiler" on the parameter
}
}
}
}
Eclipse
Version: 2026-03 (4.39.0)
Build id: 20260305-0817
Eclipse Java Development Tools
Version: 3.20.500.v20260226-0420
Build id: I20260226-0420
Note that issue is probably a duplicate or related to #4019 (See comment #4019 (comment))
I found a reproducible case where the compiler emits "Missing code implementation in the compiler", when I was implementing a Stream Gatherer.
At first I assumed a bug (missing implementation) in EJC, but after investigation and reducing the code to a minimal example, I found out that the issue is actually that I tried to access a local variable (in this case a parameter) within a static context of a local class (used as a Gatherer state object). Compiling the minimal example below with javac also fails, but with a better error message "error: non-static variable parameter cannot be referenced from a static context"
So it seems that this is a use case that is not handled correctly by EJC. But as the expected behavior is that the compilation fails with an error, all that is wrong (from a users perspective) is that the error message is wrong and misleading.
Eclipse
Version: 2026-03 (4.39.0)
Build id: 20260305-0817
Eclipse Java Development Tools
Version: 3.20.500.v20260226-0420
Build id: I20260226-0420
Note that issue is probably a duplicate or related to #4019 (See comment #4019 (comment))