gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 22:43:46 24 4
gpt4 key购买 nike

我使用 class for detecting email addresses它使用静态最终 boolean 值来配置匹配行为。自从我升级到 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 开心而过多地 fork 类,所以我更愿意将 @SuppressWarnings 放在顶部而不是更改代码。不幸的是,除了蛮力 "all" 之外,我找不到匹配的。是否有仅针对死代码检测的值?

最佳答案

更新:来自 Adam 的评论:

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

另见 Eclipse 4.4(Luna) help对于@SuppressWarnings。

原始答案:

Eclipse 3.5“知道”的所有 SuppressWarnings 值都列在 this page 中.似乎只抑制新的死代码检测没有任何值(value)。但是您可以在 domain 声明之前使用 @SuppressWarnings("all"),这样它只会抑制该行而不是整个类的警告:

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

因为死代码检查是一项新的检查,您还可以建议在 Eclipse bug database 中进行改进。也支持三元运算。

关于java - 如何抑制 Eclipse 3.5 的死代码警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com