0

IKVMを使用して、大規模な Java ライブラリ プロジェクトを .NET DLL にコンパイルしています。ただし、その際、メソッド名は大文字ではないメソッド名の Java 規則に従っていますが、.NET プロジェクトで .NET dll を使用したいので、メソッド名を大文字にしたいと考えています。

唯一の例外は、toString() などの JDK メソッドのオーバーロードであるメソッドです。これらは小文字のままにする必要があります。

すべてのメソッド (JDK メソッドのオーバーロードではありません!) の名前を自動的に変更し、それらを大文字の名前にするにはどうすればよいですか?

Proguard のような難読化ツールを使用してみましたが、設定の問題が発生し続けており、別の解決策が欲しいことに注意してください。ただし、Proguard で簡単に行う方法を知っている場合は、お知らせください。

4

1 に答える 1

-1

sed、awk、および単純な正規表現を使用して、メソッドを調べて置き換えます。メソッドにはかなり予測可能なシグネチャがあります..

public|private|protected (void を含む単語) (おそらく静的) (おそらく同期) (実際のメソッド名)。

スクリプトはすべてをぶつけます.. @Override アノテーションが適切にある場合、toString のようなものはコンパイルを中断します..戻って修正できます (手動または toString などに特化した別の sed を使用)。

于 2010-08-11T16:28:32.570 に答える