Режим супер разработчика GWT, SimpleCheckBox.wrap() AssertionError
С GWT у меня была проблема с SimpleCheckBox.wrap()
метод, поскольку это произвело AssertionError в DevMode. И я привык обходить это, добавляя код, который выполнялся только если GWT.isScript()
правда. Теперь я сталкиваюсь с той же проблемой с SuperDevMode, и возникает вопрос: существует ли метод распознавания superdevmode из исходного кода во время выполнения?
Заранее спасибо!
PS Сейчас нет быстрого способа избавиться от этого .wrap()
вызов из кода, поэтому вопрос действительно ограничен распознаванием режима запуска.
Upd. 1:
Я создал новый "специальный" класс без метода.wrap() и добавил эти строки в файл gwt.xml моего модуля:
<set-property name="superdevmode" value="on"/>
<replace-with class="com.project.client.MyWidgetSuperdevmode">
<when-type-is class="com.jostleme.jostle.ui.rich.client.MyWidgetProdMode" />
<when-property-is name="superdevmode" value="on"/>
</replace-with>
И перепробовал несколько вещей: скомпилирован через закладку, перекомпилирован проект по-старому, перезапущен как обычный, так и кодовый сервер приложений; а в исходных картах виден только класс MyWidgetProdMode. Что я делаю неправильно? Будут ли загружены новые классы при компиляции?
1 ответ
Есть superdevmode
свойство, которое вы можете использовать в правилах отложенного связывания, но в противном случае нет ничего похожего на isScript()
чтобы определить, находитесь ли вы в режиме superdevmode или нет. Свойство может иметь ценность on
или же off
,