我正在寻找一个可以解析.java文件并创建一些对象的解析器,该对象应保存有关此文件的方法,属性的信息。类,接口,方法参数和注释。
你知道吗?
我找到https://code.google.com/p/javaparser/,但我不确定它是否可以处理对我来说很重要的注释..
任何建议?
感谢
答案 0 :(得分:1)
为什么不使用标准Java Compiler API?我知道在最新的Java Magazine期刊中讨论过它 - 对于一些源样本,see here。
答案 1 :(得分:0)
您可以使用Java语法(http://docs.oracle.com/javase/specs/jls/se7/html/jls-18.html)并使用解析器生成器(例如YACC)或Scala ParserCombinators生成AST。在这个语法中,包含了注释。
答案 2 :(得分:0)
我使用JavaParser来解析java Code,是的 - 它可以处理注释,例如 - 获取方法的注释:
List<AnnotationExpr> annotations = method.getAnnotations();
向方法添加注释(按名称):
annotations.add(new NormalAnnotationExpr( ASTHelper.createNameExpr("Override"), null));