Browse Source

Graphs are cached now. Should improve performance a little bit.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6056 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Tomáš Linhart 15 years ago
parent
commit
f36e412067
  1. 6
      src/AddIns/Analysis/CodeQuality/Src/Module.cs
  2. 6
      src/AddIns/Analysis/CodeQuality/Src/Namespace.cs
  3. 6
      src/AddIns/Analysis/CodeQuality/Src/Type.cs

6
src/AddIns/Analysis/CodeQuality/Src/Module.cs

@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis
{
public class Module : IDependency, INode
{
private DependencyGraph _graphCache;
/// <summary>
/// Namespaces within module
/// </summary>
@ -28,6 +30,9 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -28,6 +30,9 @@ namespace ICSharpCode.CodeQualityAnalysis
public DependencyGraph BuildDependencyGraph()
{
if (_graphCache != null)
return _graphCache;
var g = new DependencyGraph();
foreach (var ns in Namespaces)
@ -50,6 +55,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -50,6 +55,7 @@ namespace ICSharpCode.CodeQualityAnalysis
}
}
_graphCache = g;
return g;
}

6
src/AddIns/Analysis/CodeQuality/Src/Namespace.cs

@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis
{
public class Namespace : IDependency, INode
{
private DependencyGraph _graphCache;
/// <summary>
/// Types within namespace
/// </summary>
@ -33,6 +35,9 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -33,6 +35,9 @@ namespace ICSharpCode.CodeQualityAnalysis
public DependencyGraph BuildDependencyGraph()
{
if (_graphCache != null)
return _graphCache;
var g = new DependencyGraph();
foreach (var type in Types)
@ -51,6 +56,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -51,6 +56,7 @@ namespace ICSharpCode.CodeQualityAnalysis
}
}
_graphCache = g;
return g;
}

6
src/AddIns/Analysis/CodeQuality/Src/Type.cs

@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -9,6 +9,8 @@ namespace ICSharpCode.CodeQualityAnalysis
{
public class Type : IDependency, INode
{
private DependencyGraph _graphCache;
/// <summary>
/// Nested types like inner classes, interfaces and so on.
/// </summary>
@ -209,6 +211,9 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -209,6 +211,9 @@ namespace ICSharpCode.CodeQualityAnalysis
public DependencyGraph BuildDependencyGraph()
{
if (_graphCache != null)
return _graphCache;
var g = new DependencyGraph();
foreach (var method in Methods)
@ -234,6 +239,7 @@ namespace ICSharpCode.CodeQualityAnalysis @@ -234,6 +239,7 @@ namespace ICSharpCode.CodeQualityAnalysis
}
}
_graphCache = g;
return g;
}

Loading…
Cancel
Save