checkstyle示例

vxf3dgd4  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(255)

是否可以使用 checkstyle ? 例如,我有这样的代码块

class A {
... 

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

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

8wigbo56

8wigbo561#

因为您想要的是异常的类路径,所以必须模拟java如何从源代码中确定类路径。
这要求您检查导入和包。您无法使用checkstyle完全确定这一点,因为它只查看单个文件,而java实际上查看多个文件夹位置,但您可以非常接近它。
首先查找具有该确切类名的导入。如果没有导入,那么选择是它来自 java.lang 包或正在检查的文件的当前包。你应该建立一个清单 java.lang 要自动识别的异常(如果有)。该列表中的任何其他内容都将默认为文件的包声明。
如果希望看到示例,checkstyle中有一些检查实现了这个逻辑。

相关问题