在测试新规则时,我注意到有一个错误。我的规则是检查方法参数和返回类型,并检查这些值的所有者是否具有特定注释。
以前,我在获取方法参数中的数组以及获取该数组的元素类型方面遇到问题。但是后来我找到了解决方法:
if (parameterType.isArray()) {
Type.ArrayType arrayType = (Type.ArrayType) parameterType;
Type arrayElementType = arrayType.elementType();
...
但是目前我还有另一个问题。我的规则发现列表作为返回值。我试图找到与Type.ArrayType类似的东西,但没有成功。
有没有办法获取List元素类型?
答案 0 :(得分:2)
简短的回答:不,没有。不提供参数化类型作为语义API的一部分。
我们已经打算在某个时候提供此内容:https://jira.sonarsource.com/browse/SONARJAVA-1871
但截至今天为止,尚无明确的计划。