public static CollectMembers ( Solution solution, IMember member, MonoDevelop.Ide.FindInFiles.ReferenceFinder scope, bool includeOverloads = true, bool matchDeclaringType = false ) : IEnumerable |
||
solution | Solution | |
member | IMember | |
scope | MonoDevelop.Ide.FindInFiles.ReferenceFinder | |
includeOverloads | bool | |
matchDeclaringType | bool | |
return | IEnumerable |
List <IMember> CollectMembers(string code, string typeName, Predicate <IUnresolvedMember> filter1, Predicate <IMember> filter2, bool includeOverloads, bool matchDeclaringType) { var fileName = string.Format("test{0}.csproj", Environment.TickCount); // use a new file name for each test to avoid conflicts var project = new UnknownProject { FileName = fileName }; var solution = new Solution(); solution.RootFolder.AddItem(project); var baseType = GenerateAssembly(project, code).GetTypeDefinition("", typeName, 0); var members = baseType.GetMembers(filter1).Concat(baseType.GetConstructors(filter1)); if (filter2 != null) { members = members.Where(m => filter2(m)); } var result = MemberCollector.CollectMembers(solution, members.First(), ReferenceFinder.RefactoryScope.Solution, includeOverloads, matchDeclaringType).ToList(); TypeSystemService.UnloadProject(project, true); return(result); }
internal static IEnumerable <IMember> CollectMembers(Solution solution, IMember member, RefactoryScope scope) { return(MemberCollector.CollectMembers(solution, member, scope)); }
internal static IEnumerable <IMember> CollectMembers(Solution solution, IMember member, RefactoryScope scope, bool includeOverloads = true) { return(MemberCollector.CollectMembers(solution, member, scope, includeOverloads)); }