The annotation @GroovyASTTransformationClass marks another annotation as an AST Transformation. The annotation has a required parameter, a String. The parameters stores the fully qualified class name that will be invoked during the transformation phases.
As a convenience, the parameter type should be Class instead of String. It allows programmers to specify a class not a String that represents a class.
We cannot remove String because that would break backwards compatibility. We could add a 2nd parameter and then require 1 (and only one) of the two parameters to be specified.
The was originally requested by Venkat Subramanium at 2gx 2009.