2015-09-29 8 views
3

Как я могу генерировать следующее:Генерация автореферентное общего типа с JavaPoet

class A extends B<A> {} 

Я застрял в построении ParameterizedTypeName, чтобы добавить супер класс, я не могу найти способ для ссылки на тип A до его построения ...

Любые указатели? Это вообще возможно?

+1

Почему downvote? – Ramses

+0

Это был не я, а, может быть, потому, что ты не показал ничего, что пытался? Просто мысль. –

+0

Я тоже об этом подумал, но на самом деле нечего показывать ... Я указал, что я пытаюсь построить экземпляр параметра ParameterizedType, но я не мог понять, как указать аргументы ... Во всяком случае, это решено! – Ramses

ответ

5

Используйте Classname.get("com.example.project", "A"), чтобы получить A и ParameterizedTypeName для B<A>.

+0

Это действительно сработало, и я нашел проблему, описывающую это также: https://github.com/square/javapoet/issues/294 – Ramses