Заставить компилятор GWT прекратить удаление недопустимых объектов CompilationUnits

У меня есть проект в PlayN, который позволяет мне скомпилировать одну кодовую базу Java для каждой платформы под солнцем; Я строю против ствола gwt, который в настоящее время позволяет GWT.create () быть вызванным в чистых реализациях Java. Есть несколько скачков, через которые нужно вызвать ServerGwtBridge.getInstance (). Register (String.class, new ClassInstantiator () {...}); для каждого класса, который будет использоваться GWT.create ().

Поэтому вместо того, чтобы вручную кодировать каждую привязку, я настроил некоторые аннотации для своих классов и создал генератор, который выплевывает код инициализации, необходимый для регистрации ClassInstatiators. Генератор отлично работает на модулях gwt, и я сделал maven mojo для запуска генератора на моих классах java. Итак, теперь все мои модули, gwt, java и android могут использовать GWT.create (), и я могу поддерживать синтаксис замены с помощью файлов модулей gwt.xml.

Проблема в том, что любые классы, которые ссылаются на любые неподдерживаемые gwt классы или методы, удаляются прекомпилятором gwt. Они все еще присутствуют в кеше модулей, но генератор TypeOracle больше их не видит. Я не хочу копировать и вставлять огромные фрагменты кода, чтобы компилятор не мог удалить недопустимые блоки; Я видел ссылку на код NameEnvironmentAnswer, которая, по-видимому, допускает недопустимые блоки в компиляции, но не может понять, как заставить ее работать.

У меня нет намерения связывать этот код, я просто хочу, чтобы мой генератор заполнил заполненный TypeOracle, а это значит, что мне нужен компилятор, чтобы остановить отсечение недопустимых блоков.

 Ajax31 мая 2012 г., 17:37
Заметка; Я знаю, что мог бы создать простую версию этого генератора с процессором аннотаций, но я намереваюсь создать генератор mojo, который подчиняется синтаксису полной замены модуля gwt на чистом java, поэтому я могу добавить его в gwt, когда он & apos; готово

Ответы на вопрос(0)

Ваш ответ на вопрос