我们目前正在编写一个自定义检查,该检查禁止使用任何@NotNull/@NonNull
注释,除非它来自Checker Framework。当注释用于字段,方法参数或返回值时,此方法可以很好地工作。但是,当它是如下所示的类型注释时,我们很难抓住它:List<@NonNull String> list1 = new ArrayList<>();
我们同时尝试了IssuableSubscriptionVisitor
和BaseTreeVisistor + JavaFileScanner
。无论如何,只要找到类型注释,它返回的全部就是!unknownSymbol!
。有没有一种特殊的方法可以在SonarQube中捕获这种注释?可以在https://pastebin.com/AVRuSU62上找到代码,并在https://pastebin.com/hTF218sK上检查它的测试类。
我们非常感谢您的帮助。