After some confusion during debugging, I found out that this is because of an Eclipse bug (Eclipse bug report 290470 ):
In revision 1.45 of DefaultProblemFactory.java , the
createProblem method was overloaded to include an
elaborationId. But until revision 1.11 of EclipseCompilerImpl.java , the new method wasn’t overridden.