>>See the problem?
>Not really.


I think the following scenario is being proposed:

Compile application against one xerces.jar, which returns a specific version. Java compiler sees that value is final and folds it directly into the compiled application code, as a not-entirely-unreasonable optimization of a static expression.

Run application against the wrong xerces.jar. Since the value is now part of the application, the attempt to check the parser's version fails; it reports the version as seen at compile time.

One can certainly argue that the failure here was that the compiler made an unjustified assumption, and that this is a compiler bug. But if this is happening in real-world JVMs, we should certainly consider trying to avoid provoking that bug.

______________________________________
Joe Kesselman / IBM Research

Reply via email to