Вы можете получить полное имя для типа, используя
method.getDeclaringType().getFullyQualifiedName();
Это, вероятно, проще, чем доступ к пакету из модуля компиляции. Функция остальных из вас выглядит правильно.
Одна небольшая точка: вы должны использовать StringBuilder для создания строки вместо добавления к стандартной строке. Строки являются неизменяемыми, поэтому сложение создает множество ненужных временных объектов.
private static String getMethodFullName(IMethod iMethod)
{
StringBuilder name = new StringBuilder();
name.append(iMethod.getDeclaringType().getFullyQualifiedName());
name.append(".");
name.append(iMethod.getElementName());
name.append("(");
String comma = "";
for (String type : iMethod.getParameterTypes()) {
name.append(comma);
comma = ", ";
name.append(type);
}
name.append(")");
return name.toString();
}