如何抑制Eclipse 3.5的死代码警告

时间:2009-07-06 05:12:35

标签: java eclipse warnings suppress-warnings

我使用class for detecting email addresses使用静态最终布尔值来配置匹配行为。自从我升级到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"之外,我找不到匹配的那个。是否只有死代码检测的值?

3 个答案:

答案 0 :(得分:18)

更新:来自Adam的评论:

在Eclipse 3.6和更新的Eclipse版本@SuppressWarnings("unused")现在可用于抑制“死代码”警告。请参阅Christopher Stock's answer

另请参阅Eclipse 4.4(Luna) help了解@SuppressWarnings。

原始答案:

所有SuppressWarnings值Eclipse 3.5“know”列在this page中。似乎没有用于仅抑制新的死码检测的价值。但是您可以在@SuppressWarnings("all")声明之前使用domain,因此它将仅针对整个类禁止警告:

private static final boolean ALLOW_DOMAIN_LITERALS = false;
@SuppressWarnings("all") 
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName;

因为死码检查是一个新的检查,你也可以在Eclipse bug database建议加强支持三元运算。

答案 1 :(得分:8)

Ignore部分

下的Windows -> Preferences > Java > Compiler > Errors/Warnings中选择Potential programming problems

答案 2 :(得分:6)

您可以使用

禁用“死代码”警告
@SuppressWarnings( "unused" )

有关更多信息,请参阅eclipse文档:

http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-suppress_warnings.htm

“unused”以禁止相对于未使用的代码和死代码的警告

问候

克里斯托弗