1

私は現在、プロパティ(@authorまたは@versionなど)の形式で既存のノード/リンク(Javaプラグインによって作成された)に追加情報(Javadoc)を追加するjQassistant-pluginを作成しようとするプロジェクトに取り組んでいます。または新しいリンク (@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);

これには 2 つの問題があります。

  1. これらのインターフェースはまだ安定していない可能性があります (つまり、将来変更される可能性があります)。
  2. TypeResolver インスタンスを取得できない可能性があります。これは、Java クラスパスが現在スキャンされている場合にのみ使用できます (クラス ディレクトリや JAR ファイルなど)。実際に何をスキャンしているか (JavaDoc など)、どのようにスキャンしているか (コマンドライン インターフェイスまたは Maven プラグイン)?
于 2015-08-18T11:29:13.570 に答える