Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.6-beta-2
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:Mac OS 10.5.2
JDK 1.5.0_13
Groovy 1.6-beta-2-SNAPSHOT
-
Number of attachments :
Description
Groovy allows method names to be specified as String literals. This enables the use of special characters in method names, such as space, comma, and question mark. However, when such a name become part of a class name, a "java.lang.ClassFormatError: Illegal class name" is thrown at runtime. As far as I can tell, this happens when:
1. closures are involved
2. the new call site mechanism generates a class on-the-fly
To fully support special characters in method names, the naming scheme of generated classes should thus be adapted. Also, the (few) characters that aren't allowed to appear in a method name according to the JVM specification should be rejected by the parser. For more information and related discussion see:
http://groups.google.com/group/jvm-languages/browse_thread/thread/c5c9c0bafe1ef0c8
http://www.nabble.com/In-Love-with-Groovy-tt17240709.html