Компилятор Java останавливается на 1-й ошибке «недостижимый оператор», в то время как остается много других ошибок. Зачем? - PullRequest
0 голосов
/ 05 августа 2011

Я работаю над приложением, которое на 100% автоматически перекодируется из Cobol в Java. Во многих местах COBOL использует ярлыки для устранения некоторых кодов: они кодируют a, который генерирует оператор return, в то время как есть другие операторы после возврата.

Проблема заключается в следующем: эти «возврат» в Java означают ошибки «недостижимый оператор» для всего, что происходит после возврата в том же методе.

Я в порядке с этими ошибками, но мой вопрос: компилятор (OpenJDK) останавливается на 1-ом (в то время как есть много таких + других ...). Так что это больно, потому что я должен удалить эти ошибки одну за другой и каждый раз перезапускать компиляцию. Довольно больно!

Есть ли способ сказать компилятору "не останавливаться на 1-й ошибке, а обнаружить их все"?

PS: я запускаю его через муравья. Имеет ли это какое-то значение, чем запуск голого компилятора из com

Заранее большое спасибо!

Didier

Ответы [ 3 ]

1 голос
/ 05 августа 2011

Вы можете использовать статическую проверку кода, такую ​​как findBugs.Он сообщит о любых подобных проблемах (и о многом другом) с вашим кодом.

http://findbugs.sourceforge.net/

0 голосов
/ 05 мая 2013

Вы можете использовать компилятор Eclipse из Ant - http://www.ant4eclipse.org/node/55 - который, в свою очередь, можно настроить.

Примеры на странице показывают, как использовать настройки Eclipse (ant4eclipse - проект, позволяющий компилировать существующие проекты eclipse с помощью ant).

Я провел некоторую работу с ant4eclipse, но обнаружил, чтоон не очень хорошо масштабировался для нас.

Также обратите внимание, что вы можете добавить аннотации к сгенерированному источнику, чтобы отключить предупреждения компилятора.См. Java: как @SuppressWarnings недоступный код?

0 голосов
/ 05 августа 2011

PS: я запускаю его через муравья.Имеет ли это какое-то значение, чем запуск чистого компилятора из com

Не должно быть разницы, ant просто делает то же самое.

...