示例#1
0
        private ContentFingerprint GetSealDirectoryFingerprint(DirectoryArtifact directory)
        {
            Contract.Requires(directory.IsValid);

            return(SealDirectoryTable.TryGetSealForDirectoryArtifact(directory, out PipId pipId) &&
                   m_pipStaticFingerprints.TryGetFingerprint(pipId, out ContentFingerprint fingerprint)
                   ? fingerprint
                   : ContentFingerprint.Zero);
        }
示例#2
0
 /// <inheritdoc />
 public void AddDirectoryDependents(IEnumerable <DirectoryArtifact> directories, Pip dependent)
 {
     foreach (var directory in directories)
     {
         SealDirectoryTable.TryGetSealForDirectoryArtifact(directory, out PipId producerId);
         if (producerId.IsValid)
         {
             AddDependent(producerId, dependent);
         }
         else if (OpaqueDirectoryProducers.TryGetValue(directory, out PipId opaqueProducerId))
         {
             AddDependent(opaqueProducerId, dependent);
         }
     }
 }