DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24766>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24766 Problem with generic.Instruction in Turkish locale Summary: Problem with generic.Instruction in Turkish locale Product: BCEL Version: 5.1 Platform: PC OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Main AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The method generic.Instruction.readInstruction() calls generic.Instruction.className(short) which uses toUpperCase() in its implementation. This is brittle; in the Turkish locale, for example "I".toLowerCase() != "i" "i".toUpperCase() != "I" This was reported to me at the AspectJ project from an actual user who gets org.apache.bcel.generic.ClassGenException: Illegal opcode detected. at org.apache.bcel.generic.Instruction.readInstruction (Instruction.java:189) at org.apache.bcel.generic.InstructionList.<init> (InstructionList.java:193) when using AspectJ (which uses BCEL) under the Turkish locale. So this is a problem that's appearing in the wild *smile*. I may get around to patching it myself before our next release, in which case I'll probably just rip out the Class.forName stuff inside Instruction.readInstruction() which is the thing really causing the problem (is that there for expansion, in case users define their own bytecodes? I'm confused as to why there isn't just a 256-wide dispatch). --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]