1

我正在做一个实验,我必须将所有类及其属性和方法映射到它们各自的 Java 代码。现在我想知道解析 .java 文件并查找这些文件中有哪些类以及它们的属性和方法的最佳方法是什么。我在其他一些主题中看到,构建我自己的词法分析器不是一个好主意,因为有些库已经完成了这项艰苦的工作。我发现只需调用 Java 中的一些方法就可以对项目中已经包含的文件执行此操作,但不能从外部 .java 文件中调用。

谁能点亮我?提前致谢

4

1 回答 1

1

您可以使用 PMD 等源代码扫描工具 PMD 根据规则检查源代码并生成报告。像这样:

  • 有些东西将文件名和规则集传递给 PMD
  • PMD 将文件的 InputStream 交给 JavaCC 生成的解析器
  • PMD 从解析器获取对抽象语法树的引用
  • PMD 将 AST 交给符号表层,该层构建范围、查找声明和查找用法。
  • 如果有任何规则需要数据流分析,PMD 将 AST 交给 DFA 层,用于构建控制流图和数据流节点。
  • RuleSet 中的每个规则都可以遍历 AST 并检查问题。这些规则还可以围绕符号表和 DFA 节点进行处理。
  • 报告现在充满了 RuleViolations,并且以 XML 或 HTML 或其他形式打印出来
于 2013-08-13T00:15:25.277 回答