/// <summary> /// Debugging aid which writes each full name and the number of occurrences of it /// </summary> /// <param name="writer">TextWriter to write the tree to</param> public void WriteDuplicateWeight(TextWriter writer) { ConvertToImmutable(); // Walk and compute total weight (duplicates x members) for the tree int[] duplicateWeight = new int[this.MergedMembers.Count]; DuplicateWeight(0, duplicateWeight); // Write types/namespaces with over 1,000 weight writer.WriteLine("FullName,Count,Weight"); for (int i = 0; i < this.MergedMembers.Count; ++i) { if (duplicateWeight[i] > 1000) { Path8 fullName = new Path8(this.StringStore, this.MergedMembers, i, '.', this.MergedMembers.GetDepth(i)); fullName.WriteTo(writer); writer.Write(","); writer.Write(this.MergedMemberDuplicateCount[i]); writer.Write(","); writer.Write(duplicateWeight[i]); writer.WriteLine(); } } }
public static void WriteMatchesForToolUse(TextWriter writer, PartialArray <Symbol> results) { for (int i = 0; i < results.Count; ++i) { Symbol result = results[i]; Path8 containerName = result.ContainerName; if (!containerName.IsEmpty) { containerName.WriteTo(writer); writer.Write('.'); } result.WriteSignature(writer); writer.Write('\t'); // Write full location (local/found code) or package (package index) if (result.HasLocation) { result.FilePath.WriteTo(writer); writer.Write('('); writer.Write(result.Line); writer.Write(')'); } else { result.PackageName.WriteTo(writer); } writer.WriteLine(); } }
private static void WriteContainerHeading(TextWriter writer, Symbol result) { if (result.HasLocation) { result.FilePath.Name.WriteTo(writer); writer.Write('('); writer.Write(result.Line); writer.Write(')'); } else { result.PackageName.WriteTo(writer); } writer.Write('\t'); Path8 containerName = result.ContainerName; if (!containerName.IsEmpty) { containerName.WriteTo(writer); writer.Write('.'); } result.WriteSignature(writer); writer.WriteLine(); }
/// <summary> /// Debugging aid which writes each full name and the number of occurrences of it /// </summary> /// <param name="writer">TextWriter to write the tree to</param> public void WriteDuplicateCounts(TextWriter writer) { ConvertToImmutable(); writer.WriteLine("FullName,OccurrenceCount"); for (int i = 0; i < this.MergedMembers.Count; ++i) { int duplicateCount = this.MergedMemberDuplicateCount[i]; if (duplicateCount > 1) { Path8 fullName = new Path8(this.StringStore, this.MergedMembers, i, '.', this.MergedMembers.GetDepth(i) - 1); fullName.WriteTo(writer); writer.Write(","); writer.Write(duplicateCount); writer.WriteLine(); } } }