Как подавить предупреждения 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" для подавления предупреждений относительно неиспользуемого кода и мертвого кода

Привет

Кристофер