Soy nuevo en eclipse el desarrollo de complementos y estoy tratando de convertir un IMethod en una representación de cadena del nombre completo del método. ES DECIR.Usar JDT para obtener el nombre completo del método
my.full.package.ClassName.methodName(int param, String string)
Hasta ahora he tenido que rodar manualmente mi propia solución. ¿Hay una mejor manera?
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;
}
Eso es bueno, nunca vi la clase Signature antes – iain