java - 自定义 SonarQube 规则 - 获取列表元素类型

标签 java sonarqube

在测试新规则时,我注意到有一个错误。我的规则是检查方法参数和返回类型,并检查这些值所有者是否具有特定注释。

以前,我在方法参数中获取数组以及获取该数组的元素类型时遇到问题。但后来我找到了解决方案:

 if (parameterType.isArray()) {
                Type.ArrayType arrayType = (Type.ArrayType) parameterType;
                Type arrayElementType = arrayType.elementType();
...

但目前我还有另一个问题。我的规则发现列表作为返回值。我试图找到类似于 Type.ArrayType 的东西,但没有成功。

有没有办法获取List元素类型?

最佳答案

简短回答:不,没有。参数化类型不作为语义 API 的一部分提供。

我们已经考虑在某个时候提供此服务:https://jira.sonarsource.com/browse/SONARJAVA-1871

但截至今天还没有明确的计划。

关于java - 自定义 SonarQube 规则 - 获取列表元素类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53077439/

相关文章:

postgresql - 有没有办法配置 sonar-maven-plugin 以通过 REST API 存储报告

java - SonarQube - Java - 强制局部变量有效为最终变量

java - 如何将预定义规则集加载到 Sonar 配置文件

c# - MSBuild.SonarQube.Runner.exe 结束,后处理失败退出代码 1

java - 安卓暂停/恢复不工作

java - 查找有序数组中缺失的整数

Java : Out Of Memory Error when my application runs for longer time

java - JPA插入事务并发

Java 可变循环

java - 了解 sonarqube 中的缠结指数