Автоматическое использование всех имен методов для порта из Java в .NET - PullRequest
0 голосов
/ 11 августа 2010

Я использую IKVM для компиляции большого проекта библиотеки Java в .NET DLL. При этом, однако, имена методов остаются в соответствии с соглашением Java о том, что имена методов НЕ пишутся с большой буквы, но я хочу, чтобы .NET dll использовалась в проектах .NET, и поэтому хотелось бы, чтобы имена методов были написаны с большой буквы.

Единственным исключением будут методы, которые являются перегрузками методов JDK, таких как toString () или тому подобное - они должны остаться в нижнем регистре.

Как мне перейти к автоматическому переименованию всех методов (которые не являются перегрузками методов JDK!), Превращая их в заглавные имена?

Обратите внимание, что я пытался использовать обфускатор, такой как Proguard, но продолжаю сталкиваться с проблемами настроек и хотел бы другого решения - но если вам известен какой-либо простой способ сделать это с Proguard, пожалуйста, дайте мне знаю!

1 Ответ

0 голосов
/ 11 августа 2010

Я бы использовал sed, awk и простое регулярное выражение, чтобы пройти и заменить методы для вас.Методы имеют довольно предсказуемую сигнатуру.

public | private | protected (некоторые слова, включая void) (возможно, статические) (возможно, синхронизированные) (реальное имя метода).

Сценарий будет ударятьсявсе вверх .. тогда такие вещи, как toString, прервут компиляцию, если она правильно имеет аннотацию @Override ... и вы можете вернуться и исправить (вручную или с помощью другого sed специально для toString и тому подобное).

...