0

私の問題

特定のパッケージを使用するすべての宣言済み変数を検出するPMD用のカスタム ルールセットを作成したいと考えています。それはXPathルールセットである必要があります。

私がこれまでに持っているもの

importステートメントと変数を見つけることができます。このXPathを使用して宣言を見つけています。

//VariableDeclarator[../Type
                          /ReferenceType
                             /ClassOrInterfaceType
                                [@Image = 'ClassA']]

ただし、これは正確なクラスにのみ一致しますが、このクラスがパッケージからのものであるかどうかを確認したいのですが、それmy.packageを取得する方法がわかりません。

ヒントはありますか?

4

1 に答える 1

1

PMD を使用してからしばらく経ちました。ここでは記憶から話しますが、XPath の前に次のコードを付けてみてください。

//ClassOrInterfaceDeclaration[preceding::PackageDeclaration/Name/@Image = 'my.package']//VariableDeclarator[etc..

基本的に、適切なパッケージを宣言する XML 内の関連ノードを探します。私が言ったように、これはかなり古い記憶からのものですが、うまくいけば、少なくとも正しい方向にあなたを向けるはずです.

于 2011-01-31T14:51:29.180 に答える