Zope コンポーネントを広く使用するコード ベース (Py 2.6 のもの) があり、ソースを分析できるツールが必要です。ツールはソースを分析することになっています。いくつかの制限されたクラス/オブジェクト/インターフェースなどの使用法を探すように。基本的には、ステートメントのコンテキスト (どのクラス/メソッド/関数、どのモジュールなど) を認識しながら、ソース内の各ステートメントをスキャンし、それを分析します。特定のパターン。
ソースをテキスト バッファーに読み込んでパターンを照合するというアプローチは、信頼できるアプローチではないようです。
思いついた別のアプローチはinspectを使用することでしたが、inspect は壊れているようで、コードベースを処理できないようです (複数の試行で、すべて検査がクラッシュしました)。inspectで抜け道があるように見えるので、私はそれをあきらめなければならないかもしれません。
さて、私が考えることができる他のオプションは、pylintを使用するか、ASTを使用することです(そして、それに多くの後処理を行います)。pylintがどの程度拡張可能かはわかりません。ソースステートメントの分析に関しては、pylint がコンテキスト (つまり、どのクラスの defn/function/method がこのステートメントを持っているかなど) を認識することができるかどうかなどです。
ここで適切なアプローチとして何を提案しますか? 以前にそのような問題に対処しなければならなかった人はいますか?
提案してください。