我使用一个类来检测使用静态最终布尔值来配置匹配行为的电子邮件地址。自从我升级到 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 开心而过多地分叉类,所以我宁愿把 an@SuppressWarnings
放在顶部而不是更改代码。不幸的是,除了 brute-force 之外,我找不到匹配的"all"
。是否有仅用于死代码检测的值?