static String encode(TypeMirror type) {
    StringBuilder sb = new StringBuilder();
    return type.accept(ENCODING_TYPE_VISITOR, sb).toString();
  }
Returns the encoding for the given type, where class names are marked by special tokens. The
encoding for {@code int} will be {@code int}, but the encoding for {@code
java.util.List<java.lang.Integer>} will be {@code `java.util.List`<`java.lang.Integer`>}.
value/src/main/java/com/google/auto/value/processor/TypeEncoder.java