-1

我制作了一个工具来测量 Java 源文件上的一些内聚指标,但是这些指标取决于您可以确定方法访问的属性列表,为此我制作了一个解析器来提取方法代码,但我得到了一些问题,所以我问是否有任何工具可以解析Java文件并将方法代码提取为文本?

谢谢,

4

6 回答 6

1

可能您会对 Eclipse AST Parser 感到满意。

这是您可以使用它的方式:http: //www.ibm.com/developerworks/opensource/library/os-ast/

于 2009-08-26T10:44:26.843 回答
1

我怀疑你问的是你想要的。假设您有源代码,那么您将如何确定访问的属性列表?

相反,您确实需要遍历字节码,并寻找 getfield 和 setfield 操作码。BCEL 是做到这一点的正确方法。

于 2009-07-25T18:15:58.097 回答
0

使用 ASM 可以很容易地“分析”任何你想要的类。如果我理解正确,要解决您的问题,您基本上会写一个访问者并注意所述方法中的字段。

于 2009-08-26T11:25:45.150 回答
0

要获得方法体的详细信息,您需要一个 Java 解析器。要知道 Java 代码中的每个符号代表什么,您需要一些可以为每个方法/类/包构建相当于符号表的东西。

Java 前端是一个功能齐全的 Java 解析器,它为一组 Java 源文件构建符号表(对不可用的源使用类文件)。Java 前端构建 AST,可用于将这些 AST 拆分为方法的子树,并且漂亮的打印机可以重新生成每个方法的文本(包括任何注释)。这一切都建立在程序转换系统 DMS 之上。

于 2009-08-28T04:07:28.633 回答
0

一个相当古老的反编译 java 类的工具是jad。它可以正常工作到 jdk 1.5。

于 2009-07-25T16:29:02.540 回答
0

处理类文件可能确实更容易(更多工具),但似乎也有一些 Java 源解析器。“javaparser”看起来不错:http ://code.google.com/p/javaparser/

于 2009-07-25T16:55:33.453 回答