自动将端口的所有方法名称从Java扩展到.NET

时间:2010-08-11 14:33:35

标签: java .net refactoring proguard ikvm

我使用IKVM将大型Java库项目编译为.NET DLL。但是,在这样做时,方法名称根据方法名称的Java约定而不是大写 - 但我希望.NET dll在.NET项目中使用,因此希望大写方法名称。

唯一的例外是JDK方法的重载方法,例如toString()等 - 这些方法必须保持小写。

我应该如何自动重命名所有方法(不是JDK方法的重载!),将它们变成大写的名称?

请注意,我尝试使用像Proguard这样的混淆器,但一直遇到设置问题,并且会喜欢不同的解决方案 - 但是如果您知道任何 easy 方式与Proguard一起使用,请让我知道!

1 个答案:

答案 0 :(得分:-1)

我会使用sed,awk和一个简单的正则表达式来完成并替换方法。方法有一个非常可预测的签名..

public | private | protected(某些词包括void)(可能是静态的)(可能是同步的)(实际的方法名称)。

脚本会把所有内容都搞砸..然后像toString这样的东西会破坏编译,如果它正确地有@Override注释..你可以回去修复(手工或另一个sed专门用于toString等)。