public void PushMethod(SignatureHelp methodInfo) { if (CurrentMethod != null) { methodStack.Push(CurrentMethod); } CurrentMethod = new SignatureHelpViewModel(methodInfo); IsVisible = true; }
public async Task<SignatureHelp> SignatureHelp(ISourceFile file, UnsavedFile buffer, List<UnsavedFile> unsavedFiles, int line, int column, int offset, string methodName) { SignatureHelp result = null; var clangUnsavedFiles = new List<ClangUnsavedFile>(); unsavedFiles.Add(buffer); foreach (var unsavedFile in unsavedFiles) { if (Platform.CompareFilePath(unsavedFile.FileName, buffer.FileName) != 0) { clangUnsavedFiles.Add(new ClangUnsavedFile(unsavedFile.FileName, unsavedFile.Contents)); } } var symbols = await GetSymbolsAsync(file, unsavedFiles, methodName); if (symbols.Count > 0) { result = new SignatureHelp(); result.Offset = offset; foreach (var symbol in symbols) { result.Signatures.Add(SignatureFromSymbol(symbol)); } } return result; }