私はEclipseプラグインの開発には新しく、メソッド全体の文字列表現にIMethodを変換しようとしています。 I.JDTを使用して完全なメソッド名を取得
my.full.package.ClassName.methodName(int param, String string)
これまでのところ私は自分の解決策を手にしなければならなかった。より良い方法がありますか?
private static String getMethodFullName(IMethod iMethod)
{
String packageString = "[Default Package]";
try {
IPackageDeclaration[] declarations = iMethod.getCompilationUnit().getPackageDeclarations();
if(declarations.length > 0)
{
packageString = declarations[0].getElementName();
}
} catch (JavaModelException e) {
}
String classString = iMethod.getCompilationUnit().getElementName();
classString = classString.replaceAll(".java", "");
String methodString = iMethod.getElementName() + "(";
for (String type : iMethod.getParameterTypes()) {
methodString += type + ",";
}
methodString += ")";
return packageString + "." + classString + "." + methodString;
}
これはSignatureクラスを見たことがない – iain