/// <summary> /// Attempts to find a file artifact corresponding to the given path that was declared as a member of this directory. /// </summary> public bool TryGetFileArtifact(AbsolutePath path, out FileArtifact artifact) { Contract.Requires(path.IsValid); FileArtifact search = FileArtifact.CreateSourceFile(path); int maybeIndex = Contents.BinarySearch(search, 0, Contents.Length); if (maybeIndex < 0) { artifact = FileArtifact.Invalid; return(false); } artifact = Contents[maybeIndex]; return(true); }