Browse Source

small additions analyzer, fixed some FxCop warnings

pull/18/head
Siegfried Pammer 14 years ago
parent
commit
52f3ae0254
  1. 1
      src/AddIns/Analysis/CodeQuality/CodeQuality.csproj
  2. 10
      src/AddIns/Analysis/CodeQuality/Engine/AssemblyAnalyzer.cs
  3. 2
      src/AddIns/Analysis/CodeQuality/Gui/Controls/MatrixControl.cs
  4. 2
      src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml.cs
  5. 8
      src/AddIns/Analysis/CodeQuality/Utils/DependencyColorizer.cs
  6. 4
      src/AddIns/Analysis/CodeQuality/Utils/Utils.cs

1
src/AddIns/Analysis/CodeQuality/CodeQuality.csproj

@ -135,6 +135,7 @@
<ProjectReference Include="..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj"> <ProjectReference Include="..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project> <Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name> <Name>ICSharpCode.SharpDevelop.Widgets</Name>
<Private>False</Private>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

10
src/AddIns/Analysis/CodeQuality/Engine/AssemblyAnalyzer.cs

@ -123,9 +123,15 @@ namespace ICSharpCode.CodeQuality.Engine
} }
ILAnalyzer analyzer = new ILAnalyzer(loadedAssemblies.Select(asm => loader.GetCecilObject(asm)).ToArray(), this); ILAnalyzer analyzer = new ILAnalyzer(loadedAssemblies.Select(asm => loader.GetCecilObject(asm)).ToArray(), this);
int count = methodMappings.Count + fieldMappings.Count + propertyMappings.Count; int count = typeMappings.Count + methodMappings.Count + fieldMappings.Count + propertyMappings.Count;
int i = 0; int i = 0;
foreach (var element in typeMappings) {
ReportProgress(++i / (double)count);
AddRelationshipsForTypes(element.Key.DirectBaseTypes, element.Value);
AddRelationshipsForAttributes(element.Key.Attributes, element.Value);
}
foreach (var element in methodMappings) { foreach (var element in methodMappings) {
ReportProgress(++i / (double)count); ReportProgress(++i / (double)count);
var cecilObj = loader.GetCecilObject((IUnresolvedMethod)element.Key.UnresolvedMember); var cecilObj = loader.GetCecilObject((IUnresolvedMethod)element.Key.UnresolvedMember);
@ -242,7 +248,7 @@ namespace ICSharpCode.CodeQuality.Engine
public override IType VisitTypeDefinition(ITypeDefinition type) public override IType VisitTypeDefinition(ITypeDefinition type)
{ {
TypeNode typeNode; TypeNode typeNode;
if (context.typeMappings.TryGetValue(type, out typeNode)) if (context.typeMappings.TryGetValue(type, out typeNode))
node.AddRelationship(typeNode); node.AddRelationship(typeNode);
return base.VisitTypeDefinition(type); return base.VisitTypeDefinition(type);

2
src/AddIns/Analysis/CodeQuality/Gui/Controls/MatrixControl.cs

@ -284,7 +284,7 @@ namespace ICSharpCode.CodeQuality.Gui
i * CellHeight - offsetDiffY)); i * CellHeight - offsetDiffY));
} }
public ImageSource CreateText(string text) ImageSource CreateText(string text)
{ {
if (imgs.ContainsKey(text)) if (imgs.ContainsKey(text))
return imgs[text]; return imgs[text];

2
src/AddIns/Analysis/CodeQuality/Gui/DependencyMatrixView.xaml.cs

@ -159,7 +159,7 @@ namespace ICSharpCode.CodeQuality.Gui
} }
} }
MatrixTreeNode ConvertNode(DependencyObject node) static MatrixTreeNode ConvertNode(DependencyObject node)
{ {
var c = Extensions.GetParent<SharpTreeViewItem>(node); var c = Extensions.GetParent<SharpTreeViewItem>(node);
if (c != null) if (c != null)

8
src/AddIns/Analysis/CodeQuality/Utils/DependencyColorizer.cs

@ -3,9 +3,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Linq; using System.Linq;
using System.Windows.Media; using System.Windows.Media;
using ICSharpCode.CodeQuality.Engine.Dom; using ICSharpCode.CodeQuality.Engine.Dom;
namespace ICSharpCode.CodeQuality namespace ICSharpCode.CodeQuality
@ -87,13 +87,13 @@ namespace ICSharpCode.CodeQuality
return ""; return "";
// both > 0 => UsesAndUsedBy // both > 0 => UsesAndUsedBy
if (value.Item1 > 0 && value.Item2 > 0) if (value.Item1 > 0 && value.Item2 > 0)
return value.Item1.ToString(); return value.Item1.ToString(CultureInfo.InvariantCulture);
// a > 0 => Uses // a > 0 => Uses
if (value.Item1 > 0) if (value.Item1 > 0)
return value.Item1.ToString(); return value.Item1.ToString(CultureInfo.InvariantCulture);
// b > 0 => UsedBy // b > 0 => UsedBy
if (value.Item2 > 0) if (value.Item2 > 0)
return value.Item2.ToString(); return value.Item2.ToString(CultureInfo.InvariantCulture);
return ""; return "";
} }

4
src/AddIns/Analysis/CodeQuality/Utils/Utils.cs

@ -3,8 +3,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using ICSharpCode.CodeQuality.Engine.Dom; using ICSharpCode.CodeQuality.Engine.Dom;
using Mono.Cecil; using Mono.Cecil;
@ -25,7 +25,7 @@ namespace ICSharpCode.CodeQuality
string text = GetText(item1, item2); string text = GetText(item1, item2);
return string.Format("{0} {1} {2}", left.Name, text, top.Name); return string.Format(CultureInfo.InvariantCulture, "{0} {1} {2}", left.Name, text, top.Name);
} }
static string GetText(int item1, int item2) static string GetText(int item1, int item2)

Loading…
Cancel
Save