MonoDevelop.Projects.UnresolvedFileCollection.GetUnresolvedFilesForPath C# (CSharp) Method

GetUnresolvedFilesForPath() public method

public GetUnresolvedFilesForPath ( FilePath filePath ) : IEnumerable
filePath FilePath
return IEnumerable
		public IEnumerable<ProjectFile> GetUnresolvedFilesForPath (FilePath filePath)
		{
			object depFile;
			if (unresolvedDeps.TryGetValue (filePath, out depFile)) {
				if (depFile is ProjectFile)
					yield return (ProjectFile) depFile;
				else {
					foreach (var f in (List<ProjectFile>) depFile)
						yield return f;
				}
			}
		}
	}

Usage Example

Example #1
0
        internal void ResolveDependencies(ProjectFile file)
        {
            if (!DependencyResolutionEnabled)
            {
                return;
            }

            if (!file.ResolveParent())
            {
                unresolvedDeps.Add(file);
            }

            List <ProjectFile> resolved = null;

            foreach (ProjectFile unres in unresolvedDeps.GetUnresolvedFilesForPath(file.FilePath))
            {
                if (string.IsNullOrEmpty(unres.DependsOn))
                {
                    if (resolved == null)
                    {
                        resolved = new List <ProjectFile> ();
                    }
                    resolved.Add(unres);
                }
                if (unres.ResolveParent(file))
                {
                    if (resolved == null)
                    {
                        resolved = new List <ProjectFile> ();
                    }
                    resolved.Add(unres);
                }
            }
            if (resolved != null)
            {
                foreach (ProjectFile pf in resolved)
                {
                    unresolvedDeps.Remove(pf);
                }
            }
        }