public static class GenericsType.GenericsTypeName
Represents GenericsType name
TODO In order to distinguish GenericsType with same name(See GROOVY-8409), we should add a property to keep the declaring class.
fixing GROOVY-8409 steps:
1) change the signature of constructor GenericsTypeName to `GenericsTypeName(String name, ClassNode declaringClass)`
2) try to fix all compilation errors(if `GenericsType` has declaringClass property, the step would be a bit easy to fix...)
3) run all tests to see whether the change breaks anything
4) if all tests pass, congratulations! but if some tests are broken, try to debug and find why...
We should find a way to set declaring class for `GenericsType` first, it can be completed at the resolving phase.