private QuickFixResponse GetTypeResponse(ITypeResolveContext rctx, ITypeDefinition typeDefinition) { var types = GetAllTypes(rctx); var quickFixes = from type in types where type != null && type != typeDefinition && type.IsDerivedFrom(typeDefinition) select QuickFix.ForFirstLineInRegion (type.Region , _solution.GetFile(type.Region.FileName)); return(new QuickFixResponse(quickFixes)); }
GetFileRegions(Request request) { var context = new BufferContext(request, this._parser); var declarationCollector = new GetDirectivesAstVisitor(); context.ParsedContent.SyntaxTree .AcceptVisitor(declarationCollector); var regions = declarationCollector.Directives .Where(d => d.Type == PreProcessorDirectiveType.Region || d.Type == PreProcessorDirectiveType.Endregion) .Select(d => QuickFix.ForFirstLineInRegion (d.GetRegion(), context.Document)); return(new QuickFixResponse(regions)); }
private QuickFixResponse GetMemberResponse(ITypeResolveContext rctx, MemberResolveResult resolveResult) { var quickFixes = new List <QuickFix>(); //TODO: we don't need to scan all types in all projects foreach (ITypeDefinition type in GetAllTypes(rctx)) { if (type != null) { IMember member = InheritanceHelper.GetDerivedMember(resolveResult.Member, type); if (member != null) { var quickFix = QuickFix.ForFirstLineInRegion (member.MemberDefinition.Region , _solution.GetFile(type.Region.FileName)); quickFixes.Add(quickFix); } } } return(new QuickFixResponse(quickFixes)); }