Как подавить предупреждения Eclipse 3.5 о мертвом коде
Я использую класс для обнаружения адресов электронной почты, который использует статические конечные логические значения для настройки поведения сопоставления. Поскольку я обновился до Eclipse 3.5, я получаю предупреждения о мертвом коде, поскольку Eclipse замечает, что одна ветка в этом не может быть достигнута:
private static final boolean ALLOW_DOMAIN_LITERALS = false;
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName;
Как ни странно, это радует:
private static final String domain;
static {
if(ALLOW_DOMAIN_LITERALS) {
domain = rfc2822Domain;
} else {
domain= rfc1035DomainName;
}
}
поскольку он, кажется, распознает общий шаблон if(DEBUG)
, но тернарный оператор, кажется, не считает.
Так как я бы предпочел не разветвлять класс слишком просто, чтобы сохранить Eclipse счастливым, я бы предпочел поместить @SuppressWarnings
наверху вместо изменения кода. К сожалению, я не могу найти подходящий вариант, кроме грубой силы "all"
. Есть ли значение только для обнаружения мертвого кода?
Ответы
Ответ 1
ОБНОВЛЕНИЕ: от комментария Адама:
В Eclipse 3.6 и более поздних версиях Eclipse @SuppressWarnings("unused")
теперь можно использовать для подавления предупреждений "мертвого кода". См. Ответ Кристофера Стокса.
См. также Eclipse 4.4 (Luna) для @SuppressWarnings.
Оригинальный ответ:
Все значения SuppressWarnings Eclipse 3.5 "знают" перечислены в этой странице. Кажется, что нет никакой ценности для подавления только нового обнаружения мертвого кода. Но вы можете использовать @SuppressWarnings("all")
непосредственно перед объявлением domain
, чтобы он подавлял предупреждения только для этой строки не для всего класса:
private static final boolean ALLOW_DOMAIN_LITERALS = false;
@SuppressWarnings("all")
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName;
Так как проверка мертвого кода является новой, вы также можете предложить enchancement в
Ответ 2
Выберите Ignore
в Windows -> Preferences > Java > Compiler > Errors/Warnings
в разделе Potential programming problems
Ответ 3
Вы можете отключить предупреждения "мертвого кода", используя
@SuppressWarnings( "unused" )
Подробнее см. документацию eclipse:
http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-suppress_warnings.htm
"unused" для подавления предупреждений относительно неиспользуемого кода и мертвого кода
Привет
Кристофер