/// <summary> /// Writes a list of <see cref="NodeId"/>. /// </summary> public static void WriteTextNodes(TextWriter writer, PipGraph pipGraph, IEnumerable <NodeId> nodes, bool printHashSourceFile = true) { Contract.Requires(writer != null); Contract.Requires(pipGraph != null); Contract.Requires(nodes != null); WriteTextList( writer, nodes, node => { var pip = pipGraph.GetPipFromUInt32(node.Value); if (pip.PipType.IsMetaPip()) { return(null); } if (pip.PipType == PipType.HashSourceFile && !printHashSourceFile) { return(null); } return(pip.PipType == PipType.HashSourceFile ? ((HashSourceFile)pip).Artifact.Path.ToString(pipGraph.Context.PathTable) : pip.GetDescription(pipGraph.Context)); }); }