Example #1
0
        /// <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);
        }