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); }
/// <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); } } }