Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.6-beta-2
-
None
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
Attachments
Issue Links
- is duplicated by
-
GROOVY-8724 Groovy static methods with dots causes compilation error
- Closed
-
GROOVY-8795 [Java 10] Illegal method name with special chars
- Closed
-
GROOVY-6142 IllegalAccessError. Closures inside of methods with dots
- Closed