From 85dffc55536953ff51863f832fccf53d5c93cf91 Mon Sep 17 00:00:00 2001 From: Lex Li Date: Sat, 21 Jul 2012 14:09:31 +0800 Subject: [PATCH] Fixed NullReferenceException. --- .../Project/Src/CodeCoverageResults.cs | 30 +++++++++---------- .../Project/Src/CodeCoverageSequencePoint.cs | 3 +- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs index 208e59c6c0..edf16adda1 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs @@ -3,12 +3,8 @@ using System; using System.Collections.Generic; -using System.Globalization; using System.IO; using System.Linq; -using System.Reflection; -using System.Threading.Tasks; -using System.Xml; using System.Xml.Linq; namespace ICSharpCode.CodeCoverage @@ -53,15 +49,13 @@ namespace ICSharpCode.CodeCoverage void ReadResults(XContainer reader) { IEnumerable modules = reader.Descendants("Module").Where(m => m.Attribute("skippedDueTo") == null); - foreach (XElement assembly in modules) { - AddAssembly(assembly); - } - foreach (XElement file in reader.Descendants("File")) { AddFileName(file); } - - Parallel.ForEach(modules, RegisterAssembly); + foreach (XElement assembly in modules) { + AddAssembly(assembly); + RegisterAssembly(assembly); + } } private void RegisterAssembly(XElement assembly) @@ -72,7 +66,9 @@ namespace ICSharpCode.CodeCoverage !c.Element("FullName").Value.Contains("__") && !c.Element("FullName").Value.Contains("<") && !c.Element("FullName").Value.Contains("/") && c.Attribute("skippedDueTo") == null).Select( c => c.Element("FullName").Value).Distinct().OrderBy(name => name); - Parallel.ForEach(classNames, className => AddModule(assembly, className)); + foreach (string className in classNames) { + AddModule(assembly, className); + } } /// @@ -89,8 +85,9 @@ namespace ICSharpCode.CodeCoverage .Where(c => c.Element("FullName").Value.StartsWith(className, StringComparison.Ordinal)) .Elements("Methods") .Elements("Method"); - - Parallel.ForEach(methods, method => AddMethod(module, className, method)); + foreach (XElement method in methods) { + AddMethod(module, className, method); + } return module; } @@ -98,11 +95,12 @@ namespace ICSharpCode.CodeCoverage { CodeCoverageMethod method = new CodeCoverageMethod(className, reader); module.Methods.Add(method); - - var seqpntsOfFile = reader + var points = reader .Elements("SequencePoints") .Elements("SequencePoint"); - Parallel.ForEach(seqpntsOfFile, sp => AddSequencePoint(method, sp, reader)); + foreach (XElement point in points) { + AddSequencePoint(method, point, reader); + } return method; } diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageSequencePoint.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageSequencePoint.cs index 488ec169a3..bf98a40717 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageSequencePoint.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageSequencePoint.cs @@ -2,7 +2,6 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Xml; using System.Xml.Linq; namespace ICSharpCode.CodeCoverage @@ -42,7 +41,7 @@ namespace ICSharpCode.CodeCoverage Column = GetInteger(reader, "sc"); EndLine = GetInteger(reader, "el"); EndColumn = GetInteger(reader, "ec"); - Length = EndColumn - Column; //GetInteger(reader, "len"); + Length = 10; // TODO: need to find a way to get this. GetInteger(reader, "len"); } int GetInteger(XElement reader, string attributeName)