private bool TryGetNavigationAPIRequiredArguments(ISymbol symbol, Solution solution, out IVsHierarchy hierarchy, out IVsSymbolicNavigationNotify navigationNotify, out string rqname) { hierarchy = null; navigationNotify = null; rqname = null; if (!symbol.Locations.Any() || !symbol.Locations[0].IsInSource) { return(false); } var document = solution.GetDocument(symbol.Locations[0].SourceTree); if (document == null) { return(false); } hierarchy = GetVsHierarchy(document.Project); navigationNotify = hierarchy as IVsSymbolicNavigationNotify; if (navigationNotify == null) { return(false); } return(RQNameService.TryBuild(symbol, out rqname)); }
private bool TryGetRenamingRQNameForSymbol(ISymbol symbol, out string rqname) { if (symbol.Kind == SymbolKind.Method) { var methodSymbol = symbol as IMethodSymbol; if (methodSymbol.MethodKind == MethodKind.Constructor || methodSymbol.MethodKind == MethodKind.Destructor) { symbol = symbol.ContainingType; } } return(RQNameService.TryBuild(symbol, out rqname)); }