private static IEnumerable <ISignature> TransformSignatures(ITextBuffer textBuffer, List <Protocol.Response.ParamHelpResponse.Signature> list, ITrackingSpan applicableTo, int selectedParameterIndex) { foreach (var item in list) { var sig = new JavaMethodSignature(textBuffer); var parameterList = new List <IParameter>(); var content = new StringBuilder(); content.Append(item.returnValue); content.Append(" "); content.Append(item.name); bool first = true; foreach (var param in item.parameters) { if (first) { content.Append("("); first = false; } else { content.Append(", "); } content.Append(param.name); var parameter = new JavaMethodParameter(item.description, new Span(content.Length - param.name.Length, param.name.Length), param.name, sig); parameterList.Add(parameter); } if (first) // no params { content.Append("("); } content.Append(")"); sig.ApplicableToSpan = applicableTo; sig.Content = content.ToString(); sig.Parameters = parameterList.AsReadOnly(); sig.CurrentParameter = parameterList.Count > 0 ? parameterList.First() : null; sig.CurrentParameter = parameterList.Count > selectedParameterIndex ? parameterList[selectedParameterIndex] : null; sig.Documentation = item.description; yield return(sig); } }
private static IEnumerable<ISignature> TransformSignatures(ITextBuffer textBuffer, List<Protocol.Response.ParamHelpResponse.Signature> list, ITrackingSpan applicableTo, int selectedParameterIndex) { foreach(var item in list) { var sig = new JavaMethodSignature(textBuffer); var parameterList = new List<IParameter>(); var content = new StringBuilder(); content.Append(item.returnValue); content.Append(" "); content.Append(item.name); bool first = true; foreach(var param in item.parameters) { if (first) { content.Append("("); first = false; } else content.Append(", "); content.Append(param.name); var parameter = new JavaMethodParameter(item.description, new Span(content.Length - param.name.Length, param.name.Length), param.name, sig); parameterList.Add(parameter); } if (first) // no params content.Append("("); content.Append(")"); sig.ApplicableToSpan = applicableTo; sig.Content = content.ToString(); sig.Parameters = parameterList.AsReadOnly(); sig.CurrentParameter = parameterList.Count > 0 ? parameterList.First() : null; sig.CurrentParameter = parameterList.Count > selectedParameterIndex ? parameterList[selectedParameterIndex] : null; sig.Documentation = item.description; yield return sig; } }