Я хотел бы создать несколько документов обратного проектирования, основанных на коде Java (не байт-коде), вместо написания собственного интерпретатора, какие инструменты и API доступны для прохождения кода Java с использованием кода Java?
Отражение находится на байт-коде и ограничено уровнем метода, я хочу "объективировать" и код метода.
Документ 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();