Min*_*sha 5 java java-8 fortify
死代码:未使用的方法
Fortify 正在检测 lambda 方法是否未使用。例如:我有以下方法:getCountryCode,尽管它在很多地方使用,但 fortify 将其报告为未使用的方法。
private List<String> getCountryCodeAsList(Map<Long, String> countryData, List<String> nationalityRestriction) {
return nationalityRestriction.parallelStream().filter(r -> !org.apache.commons.lang3.StringUtils.isBlank(r))
.map(r -> getCountryCode(countryData, r)).collect(Collectors.toList());
}
private String getCountryCode(Map<Long, String> countryData, String r) {
return !org.apache.commons.lang3.StringUtils.isBlank(r) ? countryData.get(Long.parseLong(r)): null;
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?有什么指点吗?
小智 3
目前,Fortify SCA 仅支持它可以扫描的使用 lambda 表达式的语言子集中的 lambda。Fortify SCA 实现了一个新的内置分析器(他们称之为高阶分析器)来完成此任务,但它仅适用于以下语言:JavaScript、Python、Ruby 和 Swift。
因此,对您的问题的简单回答是,除非 Fortify 在其高阶分析器中实现对 Java lambda 表达式的支持,否则您实际上无法做任何事情。
| 归档时间: |
|
| 查看次数: |
3522 次 |
| 最近记录: |