throws Exception
{
HashMap<String,Object> result = new HashMap<String,Object>();
String[] types = null;
IIndexName name = call.name;
ICElement element = call.element;
if (element instanceof IFunction){
types = ((IFunction)element).getParameterTypes();
}else if (element instanceof IFunctionDeclaration){
types = ((IFunctionDeclaration)element).getParameterTypes();
}
String message = element.getElementName() +
'(' + StringUtils.join(types, ", ") + ')';
result.put("name", message);
if (name != null){
IResource resource = call.resource;
if (resource != null){
String file = resource.getLocation().toOSString().replace('\\', '/');
result.put("position",
Position.fromOffset(file, null, name.getNodeOffset(), 0));
}
}
if (!seen.contains(element)){
seen.add(element);