Jestem nowy w rozwoju wtyczki Eclipse i próbuję przekonwertować IMethod na ciąg reprezentujący pełną nazwę metody. TO ZNACZY.Użyj JDT, aby uzyskać pełną nazwę metody
my.full.package.ClassName.methodName(int param, String string)
Do tej pory musiałem przekazać własne rozwiązanie. Czy istnieje lepszy sposób?
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;
}
To miłe, że nigdy wcześniej nie widziałem klasy Signature – iain