首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Checkstyle instanceOf

Checkstyle instanceOf
EN

Stack Overflow用户
提问于 2020-11-20 16:53:14
回答 1查看 64关注 0票数 0

是否可以使用checkstyle检测实例类型?例如,我有像这样的代码块

代码语言:javascript
复制
class A {
... 

   private void method test() {
    ....
    throw new MyCustomException("Some message");
  }
}

在本例中,我希望获得MyCustomException的真实实例。我知道我们可以在自定义插件中使用TokenTypes.LITERAL_NEW,但在这种情况下,我只能获得异常的名称,而不能获得实例类型(我没有这个异常类型的地址)。

EN

回答 1

Stack Overflow用户

发布于 2020-11-24 03:42:09

由于您需要的是异常的类路径,因此必须模拟Java如何从源代码确定类路径。

这需要您检查导入和包。使用Checkstyle无法完全确定这一点,因为它只查看单个文件,而Java实际上查看多个文件夹位置,但您可以非常接近。

首先查找具有该类名的导入。如果没有导入,则可以选择是否来自正在检查的文件的java.lang包或当前包。您应该为要自动识别的任何java.lang异常(如果有)构建一个列表。该列表中的任何其他内容都将默认为文件的包声明。

如果您希望查看示例,Checkstyle中有一些实现此逻辑的检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64926423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档