1

我目前正在做一个项目,我尝试创建一个 jQassistant-plugin,它以属性的形式(如@author 或 @version)向现有节点/链接(由 Java 插件创建)添加附加信息(Javadoc)或新链接(@see)。

我现在面临的问题是我需要以某种方式访问​​现有节点或链接以添加属性,但我似乎找不到这样做的方法。

让我朝着正确方向前进的一点提示将不胜感激:)

4

1 回答 1

1

Java 插件 (jqassistant.plugin.java) 提供了一个接口 TypeResolver,它允许查找现有类型(类、接口、枚举、注释)节点,包括它们的成员。您可以从提供给扫描仪插件的上下文中获取类型解析器的实例:

TypeCache.CachedType<TypeDescriptor> resolver = context.peek(TypeResolver.class);
CachedType cachedType = resolver.resolve(typeName, context);
TypeDescriptor typeDescriptor = cachedType .getTypeDescriptor();
MethodDescriptor methodDescriptor = typeDescriptor .getMethod(methodSignature);
FieldDescriptor fieldDescriptor = typeDescriptor .getMethod(fieldSignature);

这有两个问题:

  1. 这些接口可能还不稳定(即未来可能会有一些变化)
  2. 您很可能不会获得 TypeResolver 实例——它仅在当前扫描 Java 类路径(例如类目录或 JAR 文件)时可用。您实际上在扫描什么(例如 JavaDoc)以及如何扫描(命令行界面或 Maven 插件)?
于 2015-08-18T11:29:13.570 回答