The class names generated for closures in inner classes break Class.getSimpleName()
For example, the closure passed to .each in this example has name Example$_Inner_closure1.class:
Calling getSimpleName() on this class (e.g. as done by Weld on startup) throws a java.lang.InternalError:
I believe the class name is expected to be in the format Example$Inner$closure1.
I've attached a test case to demonstrate the problem - extract the archive, cd to groovy-closure-classname-test and run mvn test. The test uses Weld to inject a ClosureClassNameTest instance, but fails when Weld calls getSimpleName() on the class for the closure on line 10.