1

我正在寻找一个解析器,它可以为我提供 AspectJ 源文件的信息。定义的切入点、建议等信息......

我在谷歌上搜索了一段时间,但没有找到任何有用的东西。似乎可以使用 AspectJ 编译器中包含的解析器,但我找不到有关如何使用它的任何信息。

我发现最有希望的是单元测试:http ://eclipsesourcecode.appspot.com/jsrcs/org.eclipse.ajdt/AJDT_src/org.eclipse.ajdt.core.tests/src/org/eclipse/ajdt/core /tests/javaelements/AspectElementTests.java.html

这些测试完全测试了我想要做的事情,但我找不到关于那里使用的 org.eclipse.ajdt.core.tests.javaelements.* 类的任何信息。

有人能帮我吗?

4

3 回答 3

4

您将需要访问 AspectJ git 存储库。可在此处获得:

http://git.eclipse.org/c/aspectj/org.aspectj.git/

在那里,查找 org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser 类。

这是解析器,并且只是解析器。如果您想做类似 AJDT 正在做的事情,这还远远不够。您必须从 org.aspectj.org.eclipse.jdt.internal.compiler.Compiler 开始。但是,你仍然需要做很多事情才能找到所有的交叉关系。

最好的方法是创建一个调用 AJDT 代码的 eclipse 插件。

于 2012-05-31T20:00:11.433 回答
1

我认为作者最近提到它是一个手写解析器,所以我怀疑除了作为 AspectJ/AJDT 本身一部分的解析器之外,您不会找到其他解析器。

由于它是开源的,因此最好的办法是查看源代码。

您可能想在 AspectJ 邮件列表https://dev.eclipse.org/mailman/listinfo/aspectj-users上提问。

于 2012-05-30T19:58:06.307 回答
1

还有用于 AspectJ的AspectBench 编译器 (abc) 。

于 2012-05-31T21:11:42.503 回答