Summary: | Eclipse Java Compiler accepts string constants with UTF-8 representation larger 64kByte | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Martin Purkert <Martin.Purkert> |
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> |
Status: | RESOLVED INVALID | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 3.0.2 | ||
Target Milestone: | 3.2 M5 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Martin Purkert
2006-02-07 11:41:06 EST
To be sure that we do reproduce the problem you noticed, could you please provide a test case that fails with javac, but works with Eclipse's compiler? As soon as I get it, I will investigate. Thanks. Reproduced. I am investigating. The Eclipse compiler is splitting the long string into smaller pieces. Then we concatenate all the pieces and at the end we call the intern() method. I don't know if this is illegal to do that. As long as we generate valid bytecodes and we respect the fact that CONSTANT == CONSTANT returns true, where CONSTANT is the long string. Do you have an example in the JLS that states this is wrong? Let me know. I would be very interested to clarify this issue. For now I am closing as INVALID since I didn't find anything against the way we treat long strings. Don't hesitate to reopen if you believe this is wrong. Thanks for your bug report. Added regression test org.eclipse.jdt.core.tests.compiler.regression.XLargeTest.test009 |