TypeElement vs TypeMirror как модели данных для процессора аннотаций Java

#java #annotations #annotation-processing

Вопрос:

Я работаю над генератором кода с обработкой аннотаций и разделил логику на 2 этапа:

  1. Проанализируйте аннотированный элемент и создайте модель данных, а также
  2. Используйте модель данных для создания кода с помощью JavaPoet.

API обработки аннотаций предоставляет нам TypeMirror s в большинстве случаев. Из того, что я видел в Интернете, использование TypeElement в моделях данных кажется хорошей практикой (которую можно получить TypeMirror ).

Однако JavaPoet в большинстве случаев принимает TypeMirror s напрямую, и преобразование их в TypeElement модель данных кажется ненужным.

Есть ли преимущество одного по сравнению с другим в качестве модели данных?