Sono nuovo nello sviluppo di plug-in di eclipse e sto provando a convertire un IMethod in una rappresentazione di stringa del nome completo del metodo. OSSIAUsa JDT per ottenere il nome completo del metodo
my.full.package.ClassName.methodName(int param, String string)
finora ho dovuto girare a mano la mia soluzione. C'è un modo migliore?
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;
}
Che bello non ho mai visto prima la classe Signature – iain