in src/PortingAssistant.Client.Analysis/Utils/ApiCompatiblity.cs [276:297]
private static string GetExtensionSignature(ApiDetails api)
{
try
{
if (api == null || api.MethodParameters == null || api.MethodParameters.Length == 0)
{
return null;
}
var possibleExtension = api.MethodParameters[0];
var methodSignatureIndex = api.MethodSignature.IndexOf("(") >= 0 ? api.MethodSignature.IndexOf("(") : api.MethodSignature.Length;
var sliceMethodSignature = api.MethodSignature.Substring(0, methodSignatureIndex);
var methondNameIndex = sliceMethodSignature.LastIndexOf(api.MethodName);
var methodName = sliceMethodSignature.Substring(methondNameIndex >= 0 ? methondNameIndex : sliceMethodSignature.Length);
var methodSignature = $"{possibleExtension}.{methodName}({String.Join(", ", api.MethodParameters.Skip(1))})";
return methodSignature;
}
catch
{
return null;
}
}