Package: org.codehaus.groovy.ast

## [Java] Class GenericsType.GenericsTypeName

- org.codehaus.groovy.ast.GenericsType.GenericsTypeName

-     public static class GenericsType.GenericsTypeName
      extends Object

  Represents GenericsType name.

  TODO: In order to distinguish GenericsType with same name, we should add a property to keep the declaring class.

  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.

- - ### Constructor Summary

    Constructors
    Constructor and description
    `GenericsTypeName(String name)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public boolean` | `equals(Object that)`
    `` | `public String` | `getName()`
    `` | `public int` | `hashCode()`
    `` | `public String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### public GenericsTypeName(String name)

  - ### Method Detail

    - #### @Override
      public boolean equals(Object that)

    - #### public String getName()

    - #### @Override
      public int hashCode()

    - #### @Override
      public String toString()