private String generatedClassName(ExecutableElement method) {
    TypeElement type = MoreElements.asType(method.getEnclosingElement());
    String name = type.getSimpleName().toString();
    while (MoreElements.isType(type.getEnclosingElement())) {
      type = MoreElements.asType(type.getEnclosingElement());
      name = type.getSimpleName() + "_" + name;
    }
    return "AutoAnnotation_" + name + "_" + method.getSimpleName();
  }
Returns a map from the names of members with invariable hashCodes to the values of those
hashCodes.
value/src/main/java/com/google/auto/value/processor/AutoAnnotationProcessor.java