我希望能够基于Java代码(而不是字节码)创建一些反向工程设计文档,但我不想编写自己的解释器。有哪些工具和API可用于使用Java代码遍历Java代码?
反射是基于字节码的,并且仅限于方法级别,我想将方法代码“对象化”。
Java文档忽略了代码本身,只基于注释,自动UML序列过于严格。
例如,像这样的API(请原谅我对官方编程语言结构术语的无知):
反射是基于字节码的,并且仅限于方法级别,我想将方法代码“对象化”。
Java文档忽略了代码本身,只基于注释,自动UML序列过于严格。
例如,像这样的API(请原谅我对官方编程语言结构术语的无知):
JavaCodeDom jcd = new JavaCodeDom(new File(pathToJavaSource), CompilerEnum.Java16)
List <ClassSrc> classes = jcd.getClasses();
ClassSrc cls = classes.get(0);
Map<MethodSignatureSrc,MethodSrc> methods = cls.getMethodsMap();
MethodSrc main = mothds.get(new MethodSignatureSrc(Modifiers.Public, Modifiers.Static, ReturnTypes.Void, "main", new MethodParams(String[].class))
List<StatementSrc> statements = main.getStatements();
for(StatementSrc statement : statements){
if(statement.getType()==StatementTypes.Assignment()){
AssignmentStatementSrc assignment = (AssignmentStatementSrc)statement;
Identifier src = assignment.getAssigneeVariable();
ExpressinoSrc = assignment.getAssignmentValue();
}
}
List<AnnotationsSrc> annotations = cls.getAnnotations();