Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit 9722179

Browse files
committed
Merge commit 'bb8213bf'
2 parents 234136f + bb8213b commit 9722179

19 files changed

Lines changed: 241 additions & 346 deletions

src/AddIns/Analysis/CodeCoverage/Project/CodeCoverage.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
</Reference>
6868
</ItemGroup>
6969
<ItemGroup>
70-
<Compile Include="Src\CodeCoverageBranchPoint.cs" />
7170
<Compile Include="Src\CodeCoverageControl.cs">
7271
<SubType>UserControl</SubType>
7372
</Compile>

src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageBranchPoint.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageControl.cs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,17 @@
1919
using System;
2020
using System.Collections.Generic;
2121
using System.IO;
22-
using System.Text.RegularExpressions;
2322
using System.Windows.Forms;
2423
using System.Windows.Forms.Integration;
2524
using ICSharpCode.AvalonEdit;
2625
using ICSharpCode.AvalonEdit.AddIn;
27-
using ICSharpCode.AvalonEdit.Document;
2826
using ICSharpCode.AvalonEdit.Editing;
2927
using ICSharpCode.AvalonEdit.Highlighting;
3028
using ICSharpCode.Core;
3129
using ICSharpCode.Core.WinForms;
3230
using ICSharpCode.NRefactory;
3331
using ICSharpCode.SharpDevelop;
3432
using ICSharpCode.SharpDevelop.Editor;
35-
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
3633

3734
namespace ICSharpCode.CodeCoverage
3835
{
@@ -236,13 +233,13 @@ void UpdateListView(CodeCoverageTreeNode node)
236233
listView.BeginUpdate();
237234
try {
238235
listView.Items.Clear();
239-
CodeCoverageClassTreeNode classNode = node as CodeCoverageClassTreeNode;
240-
CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;
241-
CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;
236+
var classNode = node as CodeCoverageClassTreeNode;
237+
var methodNode = node as CodeCoverageMethodTreeNode;
238+
var propertyNode = node as CodeCoveragePropertyTreeNode;
242239
if (classNode != null) {
243240
AddClassTreeNode(classNode);
244241
} else if (methodNode != null) {
245-
AddSequencePoints(methodNode.Method.SequencePoints);
242+
AddSequencePoints(methodNode.Method);
246243
} else if (propertyNode != null) {
247244
AddPropertyTreeNode(propertyNode);
248245
}
@@ -253,9 +250,9 @@ void UpdateListView(CodeCoverageTreeNode node)
253250

254251
void UpdateTextEditor(CodeCoverageTreeNode node)
255252
{
256-
CodeCoverageClassTreeNode classNode = node as CodeCoverageClassTreeNode;
257-
CodeCoverageMethodTreeNode methodNode = node as CodeCoverageMethodTreeNode;
258-
CodeCoveragePropertyTreeNode propertyNode = node as CodeCoveragePropertyTreeNode;
253+
var classNode = node as CodeCoverageClassTreeNode;
254+
var methodNode = node as CodeCoverageMethodTreeNode;
255+
var propertyNode = node as CodeCoveragePropertyTreeNode;
259256
if (classNode != null && classNode.Nodes.Count > 0) {
260257
propertyNode = classNode.Nodes[0] as CodeCoveragePropertyTreeNode;
261258
methodNode = classNode.Nodes[0] as CodeCoverageMethodTreeNode;
@@ -280,10 +277,10 @@ void UpdateTextEditor(CodeCoverageTreeNode node)
280277
void AddClassTreeNode(CodeCoverageClassTreeNode node)
281278
{
282279
foreach (CodeCoverageTreeNode childNode in node.Nodes) {
283-
CodeCoverageMethodTreeNode method = childNode as CodeCoverageMethodTreeNode;
284-
CodeCoveragePropertyTreeNode property = childNode as CodeCoveragePropertyTreeNode;
280+
var method = childNode as CodeCoverageMethodTreeNode;
281+
var property = childNode as CodeCoveragePropertyTreeNode;
285282
if (method != null) {
286-
AddSequencePoints(method.Method.SequencePoints);
283+
AddSequencePoints(method.Method);
287284
} else {
288285
AddPropertyTreeNode(property);
289286
}
@@ -299,20 +296,21 @@ void AddPropertyTreeNode(CodeCoveragePropertyTreeNode node)
299296
void AddMethodIfNotNull(CodeCoverageMethod method)
300297
{
301298
if (method != null) {
302-
AddSequencePoints(method.SequencePoints);
299+
AddSequencePoints(method);
303300
}
304301
}
305302

306-
void AddSequencePoints(List<CodeCoverageSequencePoint> sequencePoints)
303+
void AddSequencePoints(CodeCoverageMethod method)
307304
{
308-
foreach (CodeCoverageSequencePoint sequencePoint in sequencePoints) {
309-
AddSequencePoint(sequencePoint);
305+
foreach (CodeCoverageSequencePoint sequencePoint in method.SequencePoints) {
306+
if (method.FileID == sequencePoint.FileID)
307+
AddSequencePoint(sequencePoint);
310308
}
311309
}
312310

313311
void AddSequencePoint(CodeCoverageSequencePoint sequencePoint)
314312
{
315-
ListViewItem item = new ListViewItem(sequencePoint.VisitCount.ToString());
313+
var item = new ListViewItem(sequencePoint.VisitCount.ToString());
316314
item.SubItems.Add(sequencePoint.Line.ToString());
317315
item.SubItems.Add(sequencePoint.Column.ToString());
318316
item.SubItems.Add(sequencePoint.EndLine.ToString());
@@ -328,7 +326,7 @@ void AddSequencePoint(CodeCoverageSequencePoint sequencePoint)
328326
void ListViewItemActivate(object sender, EventArgs e)
329327
{
330328
if (listView.SelectedItems.Count > 0) {
331-
CodeCoverageSequencePoint sequencePoint = (CodeCoverageSequencePoint)listView.SelectedItems[0].Tag;
329+
var sequencePoint = (CodeCoverageSequencePoint)listView.SelectedItems[0].Tag;
332330
if (sequencePoint.Document.Length > 0) {
333331
FileService.JumpToFilePosition(sequencePoint.Document, sequencePoint.Line, sequencePoint.Column);
334332
}

src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageHighlighter.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
using System;
2020
using System.Collections.Generic;
21-
using System.Windows.Media;
2221

2322
using ICSharpCode.NRefactory.Editor;
2423
using ICSharpCode.SharpDevelop;
@@ -50,7 +49,7 @@ public void AddMarker(IDocument document, CodeCoverageSequencePoint sequencePoin
5049
return;
5150
}
5251

53-
ITextMarkerService markerService = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
52+
var markerService = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
5453
if (markerService != null) {
5554
int startOffset = document.PositionToOffset(sequencePoint.Line, sequencePoint.Column);
5655
int endOffset = document.PositionToOffset(sequencePoint.EndLine, sequencePoint.EndColumn);
@@ -66,15 +65,15 @@ public void AddMarker(IDocument document, CodeCoverageSequencePoint sequencePoin
6665
/// </summary>
6766
public void RemoveMarkers(IDocument document)
6867
{
69-
ITextMarkerService markerService = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
68+
var markerService = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
7069
if (markerService != null) {
7170
markerService.RemoveAll(IsCodeCoverageTextMarker);
7271
}
7372
}
7473

7574
bool IsCodeCoverageTextMarker(ITextMarker marker)
7675
{
77-
Type type = marker.Tag as Type;
76+
var type = marker.Tag as Type;
7877
return type == typeof(CodeCoverageHighlighter);
7978
}
8079

@@ -109,21 +108,15 @@ bool IsValidSequencePoint(IDocument document, CodeCoverageSequencePoint sequence
109108
}
110109

111110
public static System.Drawing.Color GetSequencePointBackColor(CodeCoverageSequencePoint sequencePoint) {
112-
if (sequencePoint.VisitCount > 0) {
113-
if ( sequencePoint.BranchCoverage == true ) {
114-
return CodeCoverageOptions.VisitedColor;
115-
}
116-
return CodeCoverageOptions.PartVisitedColor;
111+
if (sequencePoint.VisitCount != 0) {
112+
return sequencePoint.BranchCoverage == true ? CodeCoverageOptions.VisitedColor : CodeCoverageOptions.PartVisitedColor;
117113
}
118114
return CodeCoverageOptions.NotVisitedColor;
119115
}
120116

121117
public static System.Drawing.Color GetSequencePointForeColor(CodeCoverageSequencePoint sequencePoint) {
122-
if (sequencePoint.VisitCount > 0) {
123-
if ( sequencePoint.BranchCoverage == true ) {
124-
return CodeCoverageOptions.VisitedForeColor;
125-
}
126-
return CodeCoverageOptions.PartVisitedForeColor;
118+
if (sequencePoint.VisitCount != 0) {
119+
return sequencePoint.BranchCoverage == true ? CodeCoverageOptions.VisitedForeColor : CodeCoverageOptions.PartVisitedForeColor;
127120
}
128121
return CodeCoverageOptions.NotVisitedForeColor;
129122
}

src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethod.cs

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,18 @@
1818

1919
using System;
2020
using System.Collections.Generic;
21-
using System.Reflection;
22-
using System.Xml;
2321
using System.Xml.Linq;
2422
using ICSharpCode.Core;
2523

2624
namespace ICSharpCode.CodeCoverage
2725
{
2826
public class CodeCoverageMethod
2927
{
30-
string name = String.Empty;
31-
string className = String.Empty;
32-
string fullClassName = String.Empty;
33-
string classNamespace = String.Empty;
34-
List<CodeCoverageSequencePoint> sequencePoints = new List<CodeCoverageSequencePoint>();
28+
readonly string name = String.Empty;
29+
readonly string className = String.Empty;
30+
readonly string fullClassName = String.Empty;
31+
readonly string classNamespace = String.Empty;
32+
readonly List<CodeCoverageSequencePoint> sequencePoints = new List<CodeCoverageSequencePoint>();
3533

3634
public CodeCoverageMethod(string name, string className)
3735
{
@@ -63,10 +61,9 @@ public CodeCoverageMethod(string className, CodeCoverageMethodElement element)
6361

6462
this.IsVisited = element.IsVisited;
6563
this.BranchCoverage = element.BranchCoverage;
66-
this.BranchCoverageRatio = element.BranchCoverageRatio;
6764
this.SequencePointsCount = element.SequencePointsCount;
6865
this.sequencePoints = element.SequencePoints;
69-
66+
this.FileID = element.FileID;
7067
}
7168

7269
/// <summary>
@@ -78,8 +75,8 @@ public CodeCoverageMethod(string className, CodeCoverageMethodElement element)
7875

7976
public bool IsVisited { get; private set; }
8077
public decimal BranchCoverage { get; private set; }
81-
public Tuple<int,int> BranchCoverageRatio { get; private set; }
8278
public int SequencePointsCount { get; private set; }
79+
public string FileID { get; private set; }
8380

8481
bool IsPropertyMethodName()
8582
{
@@ -112,10 +109,7 @@ public string RootNamespace {
112109
public static string GetRootNamespace(string ns)
113110
{
114111
int index = ns.IndexOf('.');
115-
if (index > 0) {
116-
return ns.Substring(0, index);
117-
}
118-
return ns;
112+
return index > 0 ? ns.Substring(0, index) : ns;
119113
}
120114

121115
public List<CodeCoverageSequencePoint> SequencePoints {
@@ -150,7 +144,7 @@ public int GetVisitedCodeLength()
150144
{
151145
int total = 0;
152146
foreach (CodeCoverageSequencePoint sequencePoint in sequencePoints) {
153-
if (sequencePoint.VisitCount != 0) {
147+
if (sequencePoint.FileID == this.FileID && sequencePoint.VisitCount != 0) {
154148
total += sequencePoint.Length;
155149
}
156150
}
@@ -161,7 +155,7 @@ public int GetUnvisitedCodeLength()
161155
{
162156
int total = 0;
163157
foreach (CodeCoverageSequencePoint sequencePoint in sequencePoints) {
164-
if (sequencePoint.VisitCount == 0) {
158+
if (sequencePoint.FileID == this.FileID && sequencePoint.VisitCount == 0) {
165159
total += sequencePoint.Length;
166160
}
167161
}
@@ -170,7 +164,7 @@ public int GetUnvisitedCodeLength()
170164

171165
public List<CodeCoverageSequencePoint> GetSequencePoints(string fileName)
172166
{
173-
List<CodeCoverageSequencePoint> matchedSequencePoints = new List<CodeCoverageSequencePoint>();
167+
var matchedSequencePoints = new List<CodeCoverageSequencePoint>();
174168
foreach (CodeCoverageSequencePoint sequencePoint in sequencePoints) {
175169
if (FileUtility.IsEqualFileName(fileName, sequencePoint.Document)) {
176170
matchedSequencePoints.Add(sequencePoint);
@@ -193,10 +187,7 @@ public static string GetChildNamespace(string fullNamespace, string parentNamesp
193187
/// </summary>
194188
public static string GetFullNamespace(string prefix, string name)
195189
{
196-
if (prefix.Length > 0) {
197-
return String.Concat(prefix, ".", name);
198-
}
199-
return name;
190+
return prefix.Length > 0 ? String.Concat(prefix, ".", name) : name;
200191
}
201192

202193
/// <summary>
@@ -208,7 +199,7 @@ public static string GetFullNamespace(string prefix, string name)
208199
/// method will return 'XmlEditor' as one of its strings.
209200
/// </remarks>
210201
public static List<string> GetChildNamespaces(List<CodeCoverageMethod> methods, string parentNamespace) {
211-
List<string> items = new List<string>();
202+
var items = new List<string>();
212203
foreach (CodeCoverageMethod method in methods) {
213204
string classNamespace = method.ClassNamespace;
214205
string dottedParentNamespace = parentNamespace + ".";
@@ -227,10 +218,10 @@ public static List<string> GetChildNamespaces(List<CodeCoverageMethod> methods,
227218
/// </summary>
228219
public static List<CodeCoverageMethod> GetAllMethods(List<CodeCoverageMethod> methods, string namespaceStartsWith)
229220
{
230-
List<CodeCoverageMethod> matchedMethods = new List<CodeCoverageMethod>();
221+
var matchedMethods = new List<CodeCoverageMethod>();
231222
namespaceStartsWith += ".";
232223
foreach (CodeCoverageMethod method in methods) {
233-
if ((method.ClassNamespace+".").StartsWith(namespaceStartsWith)) {
224+
if ((method.ClassNamespace + ".").StartsWith(namespaceStartsWith, StringComparison.Ordinal)) {
234225
matchedMethods.Add(method);
235226
}
236227
}
@@ -242,7 +233,7 @@ public static List<CodeCoverageMethod> GetAllMethods(List<CodeCoverageMethod> me
242233
/// </summary>
243234
public static List<CodeCoverageMethod> GetMethods(List<CodeCoverageMethod> methods, string ns, string className)
244235
{
245-
List<CodeCoverageMethod> matchedMethods = new List<CodeCoverageMethod>();
236+
var matchedMethods = new List<CodeCoverageMethod>();
246237
foreach (CodeCoverageMethod method in methods) {
247238
if (method.ClassName == className && method.ClassNamespace == ns) {
248239
matchedMethods.Add(method);
@@ -253,7 +244,7 @@ public static List<CodeCoverageMethod> GetMethods(List<CodeCoverageMethod> metho
253244

254245
public static List<string> GetClassNames(List<CodeCoverageMethod> methods, string ns)
255246
{
256-
List<string> names = new List<string>();
247+
var names = new List<string>();
257248
foreach (CodeCoverageMethod method in methods) {
258249
if (method.ClassNamespace == ns && !names.Contains(method.ClassName)) {
259250
names.Add(method.ClassName);

0 commit comments

Comments
 (0)