Browse Source

Fixed forum-7200, forum-7286: Exception when trying to remove lines with breakpoints

Improved default selection in "Go to" dialog.
SharpDevelop.Dom: Renamed IDecoration->IEntity, moved common properties in IClass and IMember into IEntity.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2931 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
cad71281f0
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs
  2. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
  3. 4
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
  4. 2
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs
  5. 4
      src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs
  6. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs
  7. 2
      src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs
  8. 2
      src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs
  9. 2
      src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
  10. 2
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
  11. 2
      src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs
  12. 13
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs
  13. 89
      src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs
  14. 24
      src/Main/Base/Test/AbstractEntityIsOverridableTestFixture.cs
  15. 4
      src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
  16. 4
      src/Main/Base/Test/Utils/MockEntity.cs
  17. 5
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj
  18. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs
  19. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs
  20. 141
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs
  21. 13
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs
  22. 116
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractNamedEntity.cs
  23. 23
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs
  24. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs
  25. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs
  26. 35
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs
  27. 25
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IEntity.cs
  28. 30
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs
  29. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
  30. 4
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs
  31. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs
  32. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs
  33. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs
  34. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs
  35. 187
      src/SharpDevelop.Tests.sln

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs

@ -116,7 +116,7 @@ namespace Grunwald.BooBinding @@ -116,7 +116,7 @@ namespace Grunwald.BooBinding
return string.Empty;
}
string GetModifier(IDecoration decoration)
string GetModifier(IEntity decoration)
{
string ret = "";

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs

@ -159,7 +159,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -159,7 +159,7 @@ namespace Grunwald.BooBinding.CodeCompletion
m.TypeParameters = DefaultTypeParameter.EmptyTypeParameterList;
}
void ConvertAttributes(AST.TypeMember node, AbstractDecoration to)
void ConvertAttributes(AST.TypeMember node, AbstractEntity to)
{
if (node.Attributes.Count == 0) {
to.Attributes = DefaultAttribute.EmptyAttributeList;

4
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs

@ -230,7 +230,7 @@ namespace CSharpBinding @@ -230,7 +230,7 @@ namespace CSharpBinding
/// <summary>
/// A class that copies the properties important for the code completion display from another class,
/// but provides its own Name implementation.
/// Unlike the DefaultClass.Name implementation, here 'Name' may include the namespace or type arguments.
/// Unlike the AbstractEntity.Name implementation, here 'Name' may include the namespace or type arguments.
/// </summary>
sealed class RenamedClass : DefaultClass, IClass
{
@ -243,7 +243,7 @@ namespace CSharpBinding @@ -243,7 +243,7 @@ namespace CSharpBinding
this.FullyQualifiedName = c.FullyQualifiedName;
}
string IClass.Name {
string IEntity.Name {
get { return newName; }
}
}

2
src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs

@ -337,7 +337,7 @@ namespace PythonBinding.Tests.Utils @@ -337,7 +337,7 @@ namespace PythonBinding.Tests.Utils
throw new NotImplementedException();
}
public IDecoration GetElement(string fullMemberName)
public IEntity GetElement(string fullMemberName)
{
throw new NotImplementedException();
}

4
src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs

@ -439,13 +439,13 @@ namespace ClassDiagram @@ -439,13 +439,13 @@ namespace ClassDiagram
// addItem.SubItems.Add(GetSummary(member));
}
private static string GetSummary (IDecoration decoration)
private static string GetSummary (IEntity decoration)
{
if (decoration == null) return String.Empty;
return GetSummary(decoration.Documentation, @"/docroot/summary");
}
private static string GetParameterSummary (IDecoration decoration, string parameterName)
private static string GetParameterSummary (IEntity decoration, string parameterName)
{
if (decoration == null) return String.Empty;
return GetSummary(decoration.Documentation, @"/docroot/param[@name='"+parameterName+"']");

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs

@ -29,7 +29,7 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -29,7 +29,7 @@ namespace ICSharpCode.WpfDesign.AddIn
IProjectContent pc = MyTypeFinder.GetProjectContent(file);
if (pc != null) {
string fullName = property.DeclaringType.FullName + "." + property.Name;
IDecoration dec = pc.GetElement(fullName);
IEntity dec = pc.GetElement(fullName);
if (dec != null)
return CodeCompletionData.GetDocumentation(dec.Documentation);
foreach (IProjectContent rpc in pc.ReferencedContents) {

2
src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs

@ -148,7 +148,7 @@ namespace UnitTesting.Tests.Utils @@ -148,7 +148,7 @@ namespace UnitTesting.Tests.Utils
throw new NotImplementedException();
}
public IDecoration GetElement(string fullMemberName)
public IEntity GetElement(string fullMemberName)
{
throw new NotImplementedException();
}

2
src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs

@ -91,6 +91,8 @@ namespace ICSharpCode.TextEditor.Document @@ -91,6 +91,8 @@ namespace ICSharpCode.TextEditor.Document
// Console.WriteLine("New text:");
// Console.WriteLine("'" + document.TextContent + "'");
// #endif
// Only fire events after RemoveInternal+InsertInternal finished completely:
// Otherwise we would expose inconsistent state to the event handlers.
RunHighlighter(lineStart, 1 + Math.Max(0, this.TotalNumberOfLines - numberOfLinesAfterRemoving));
if (removedLines != null) {
foreach (LineSegment ls in removedLines)

2
src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -25,7 +25,7 @@ namespace ICSharpCode.SharpDevelop.Debugging
}
set {
willBeHit = value;
if (Document != null) {
if (Document != null && !Line.IsDeleted) {
Document.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.SingleLine, LineNumber));
Document.CommitUpdate();
}

2
src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

@ -467,7 +467,7 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -467,7 +467,7 @@ namespace ICSharpCode.SharpDevelop.Debugging
}
}
static string GetMemberText(IAmbience ambience, IDecoration member, string expression, out bool debuggerCanShowValue)
static string GetMemberText(IAmbience ambience, IEntity member, string expression, out bool debuggerCanShowValue)
{
bool tryDisplayValue = false;
debuggerCanShowValue = false;

2
src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs

@ -309,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -309,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
/// Gets the files of files that could have a reference to the <paramref name="member"/>
/// int the <paramref name="ownerClass"/>.
/// </summary>
static List<ProjectItem> GetPossibleFiles(IClass ownerClass, IDecoration member)
static List<ProjectItem> GetPossibleFiles(IClass ownerClass, IEntity member)
{
List<ProjectItem> resultList = new List<ProjectItem>();
if (ProjectService.OpenSolution == null) {

13
src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs

@ -128,13 +128,24 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -128,13 +128,24 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public void RemoveMarker()
{
if (oldDocument != null) {
int from = SafeGetLineNumberForOffset(oldDocument, oldMarker.Offset);
int to = SafeGetLineNumberForOffset(oldDocument, oldMarker.Offset + oldMarker.Length);
oldDocument.MarkerStrategy.RemoveMarker(oldMarker);
oldDocument.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.SingleLine, LineNumber));
oldDocument.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.LinesBetween, from, to));
oldDocument.CommitUpdate();
}
oldDocument = null;
oldMarker = null;
}
static int SafeGetLineNumberForOffset(IDocument document, int offset)
{
if (offset <= 0)
return 0;
if (offset >= document.TextLength)
return document.TotalNumberOfLines;
return document.GetLineNumberForOffset(offset);
}
}
public class SDBookmarkFactory : IBookmarkFactory

89
src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs

@ -123,6 +123,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -123,6 +123,7 @@ namespace ICSharpCode.SharpDevelop.Gui
}
Dictionary<string, object> visibleEntries = new Dictionary<string, object>();
int bestMatchType;
double bestPriority;
ListViewItem bestItem;
@ -209,18 +210,18 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -209,18 +210,18 @@ namespace ICSharpCode.SharpDevelop.Gui
void AddSourceFile(string text, int lineNumber, ProjectItem item)
{
string lowerText = text.ToLowerInvariant();
string fileName = item.FileName;
string display = Path.GetFileName(fileName);
if (display.Length >= text.Length) {
if (display.ToLowerInvariant().IndexOf(lowerText) >= 0) {
int matchType = GetMatchType(text, display);
if (matchType >= 0) {
if (lineNumber > 0) {
display += ", line " + lineNumber;
}
if (item.Project != null) {
display += StringParser.Parse(" ${res:MainWindow.Windows.SearchResultPanel.In} ") + item.Project.Name;
}
AddItem(display, ClassBrowserIconService.GotoArrowIndex, new FileLineReference(fileName, lineNumber), 0.5);
AddItem(display, ClassBrowserIconService.GotoArrowIndex, new FileLineReference(fileName, lineNumber), 0.5, matchType);
}
}
}
@ -232,7 +233,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -232,7 +233,7 @@ namespace ICSharpCode.SharpDevelop.Gui
TextEditorControl editor = GetEditor();
if (editor != null) {
num = Math.Min(editor.Document.TotalNumberOfLines, Math.Max(1, num));
AddItem(StringParser.Parse("${res:Dialog.Goto.GotoLine} ") + num, ClassBrowserIconService.GotoArrowIndex, num, 0);
AddItem(StringParser.Parse("${res:Dialog.Goto.GotoLine} ") + num, ClassBrowserIconService.GotoArrowIndex, num, 0, int.MaxValue);
}
}
}
@ -245,13 +246,12 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -245,13 +246,12 @@ namespace ICSharpCode.SharpDevelop.Gui
if (ccd == null)
return;
string dataText = ccd.Text;
if (dataText.Length >= text.Length) {
if (dataText.ToLowerInvariant().IndexOf(lowerText) >= 0) {
if (ccd.Class != null)
AddItem(ccd.Class, data.ImageIndex, data.Priority);
else if (ccd.Member != null)
AddItem(ccd.Member, data.ImageIndex, data.Priority);
}
int matchType = GetMatchType(text, dataText);
if (matchType >= 0) {
if (ccd.Class != null)
AddItem(ccd.Class, data.ImageIndex, data.Priority, matchType);
else if (ccd.Member != null)
AddItem(ccd.Member, data.ImageIndex, data.Priority, matchType);
}
}
}
@ -260,7 +260,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -260,7 +260,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{
ShowCompletionData(GetCompletionData(), text);
foreach (IClass c in SearchClasses(text)) {
AddItem(c);
AddItem(c, GetMatchType(text, c.Name));
}
}
@ -292,7 +292,44 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -292,7 +292,44 @@ namespace ICSharpCode.SharpDevelop.Gui
}
}
void AddItem(string text, int imageIndex, object tag, double priority)
const int MatchType_NoMatch = -1;
const int MatchType_ContainsMatch_CaseInsensitive = 0;
const int MatchType_ContainsMatch = 1;
const int MatchType_StartingMatch_CaseInsensitive = 2;
const int MatchType_StartingMatch = 3;
const int MatchType_FullMatch_CaseInsensitive = 4;
const int MatchType_FullMatch = 5;
static int GetMatchType(string searchText, string itemText)
{
if (itemText.Length < searchText.Length)
return MatchType_NoMatch;
int indexInsensitive = itemText.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase);
if (indexInsensitive < 0)
return MatchType_NoMatch;
// This is a case insensitive match
int indexSensitive = itemText.IndexOf(searchText, StringComparison.InvariantCulture);
if (itemText.Length == searchText.Length) {
// this is a full match
if (indexSensitive == 0)
return MatchType_FullMatch;
else
return MatchType_FullMatch_CaseInsensitive;
} else if (indexInsensitive == 0) {
// This is a starting match
if (indexSensitive == 0)
return MatchType_StartingMatch;
else
return MatchType_StartingMatch_CaseInsensitive;
} else {
if (indexSensitive >= 0)
return MatchType_ContainsMatch;
else
return MatchType_ContainsMatch_CaseInsensitive;
}
}
void AddItem(string text, int imageIndex, object tag, double priority, int matchType)
{
if (visibleEntries.ContainsKey(text))
return;
@ -300,38 +337,34 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -300,38 +337,34 @@ namespace ICSharpCode.SharpDevelop.Gui
ListViewItem item = new ListViewItem(text, imageIndex);
item.Tag = tag;
if (bestItem == null
|| (priority > bestPriority && !(tag is IClass && bestItem.Tag is IMember))
|| (tag is IMember && bestItem.Tag is IClass))
|| (tag is IMember && bestItem.Tag is IClass)
|| (!(tag is IClass && bestItem.Tag is IMember)
&& (matchType > bestMatchType || matchType == bestMatchType && priority > bestPriority)))
{
bestItem = item;
bestPriority = priority;
bestMatchType = matchType;
}
listView.Items.Add(item);
}
void AddItem(IClass c)
void AddItem(IClass c, int matchType)
{
AddItem(c, ClassBrowserIconService.GetIcon(c), CodeCompletionDataUsageCache.GetPriority(c.DotNetName, true));
AddItem(c, ClassBrowserIconService.GetIcon(c), CodeCompletionDataUsageCache.GetPriority(c.DotNetName, true), matchType);
}
void AddItemIfMatchText(string text, IMember member, int imageIndex)
{
string name = member.Name;
if (name.Length >= text.Length) {
if (text.Equals(name.Substring(0, text.Length), StringComparison.OrdinalIgnoreCase)) {
AddItem(member, imageIndex, CodeCompletionDataUsageCache.GetPriority(member.DotNetName, true));
}
int matchType = GetMatchType(text, name);
if (matchType >= 0) {
AddItem(member, imageIndex, CodeCompletionDataUsageCache.GetPriority(member.DotNetName, true), matchType);
}
}
void AddItem(IClass c, int imageIndex, double priority)
{
AddItem(c.Name + " (" + c.FullyQualifiedName + ")", imageIndex, c, priority);
}
void AddItem(IMember m, int imageIndex, double priority)
void AddItem(IEntity e, int imageIndex, double priority, int matchType)
{
AddItem(m.Name + " (" + m.FullyQualifiedName + ")", imageIndex, m, priority);
AddItem(e.Name + " (" + e.FullyQualifiedName + ")", imageIndex, e, priority, matchType);
}
void CancelButtonClick(object sender, EventArgs e)

24
src/Main/Base/Test/AbstractDecorationIsOverridableTestFixture.cs → src/Main/Base/Test/AbstractEntityIsOverridableTestFixture.cs

@ -16,48 +16,48 @@ namespace ICSharpCode.SharpDevelop.Tests @@ -16,48 +16,48 @@ namespace ICSharpCode.SharpDevelop.Tests
/// Tests that the IsOverridable property returns the expected value.
/// </summary>
[TestFixture]
public class AbstractDecorationIsOverridableTestFixture
public class AbstractEntityIsOverridableTestFixture
{
MockDecoration decoration;
MockEntity entity;
[SetUp]
public void SetUp()
{
decoration = new MockDecoration();
entity = new MockEntity();
}
[Test]
public void NotOverridableByDefault()
{
Assert.IsFalse(decoration.IsOverridable);
Assert.IsFalse(entity.IsOverridable);
}
[Test]
public void IsOverrideSet()
{
decoration.Modifiers = ModifierEnum.Override;
Assert.IsTrue(decoration.IsOverridable);
entity.Modifiers = ModifierEnum.Override;
Assert.IsTrue(entity.IsOverridable);
}
[Test]
public void IsVirtualSet()
{
decoration.Modifiers = ModifierEnum.Virtual;
Assert.IsTrue(decoration.IsOverridable);
entity.Modifiers = ModifierEnum.Virtual;
Assert.IsTrue(entity.IsOverridable);
}
[Test]
public void IsAbstractSet()
{
decoration.Modifiers = ModifierEnum.Abstract;
Assert.IsTrue(decoration.IsOverridable);
entity.Modifiers = ModifierEnum.Abstract;
Assert.IsTrue(entity.IsOverridable);
}
[Test]
public void IsAbstractAndSealedSet()
{
decoration.Modifiers = ModifierEnum.Abstract | ModifierEnum.Sealed;
Assert.IsFalse(decoration.IsOverridable);
entity.Modifiers = ModifierEnum.Abstract | ModifierEnum.Sealed;
Assert.IsFalse(entity.IsOverridable);
}
}
}

4
src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj

@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
<Reference Include="Microsoft.Build.Engine" />
</ItemGroup>
<ItemGroup>
<Compile Include="AbstractDecorationIsOverridableTestFixture.cs" />
<Compile Include="AbstractEntityIsOverridableTestFixture.cs" />
<Compile Include="AssemblyInfo.cs" />
<Compile Include="CodeConverterTests.cs" />
<Compile Include="CSharpExpressionFinderTests.cs" />
@ -71,7 +71,7 @@ @@ -71,7 +71,7 @@
<Compile Include="MemberLookupHelperTests.cs" />
<Compile Include="Utils\MockAmbience.cs" />
<Compile Include="Utils\MockClass.cs" />
<Compile Include="Utils\MockDecoration.cs" />
<Compile Include="Utils\MockEntity.cs" />
<Compile Include="Utils\MockDefaultReturnType.cs" />
<Compile Include="Utils\MockMethod.cs" />
<Compile Include="Utils\MockProject.cs" />

4
src/Main/Base/Test/Utils/MockDecoration.cs → src/Main/Base/Test/Utils/MockEntity.cs

@ -10,9 +10,9 @@ using ICSharpCode.SharpDevelop.Dom; @@ -10,9 +10,9 @@ using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.SharpDevelop.Tests.Utils
{
public class MockDecoration : AbstractDecoration
public class MockEntity : AbstractEntity
{
public MockDecoration() : base(null)
public MockEntity() : base(null)
{
}

5
src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj

@ -63,9 +63,8 @@ @@ -63,9 +63,8 @@
<Link>Configuration\GlobalAssemblyInfo.cs</Link>
</Compile>
<Compile Include="Src\ExtensionMethods.cs" />
<Compile Include="Src\Implementations\AbstractDecoration.cs" />
<Compile Include="Src\Implementations\AbstractEntity.cs" />
<Compile Include="Src\Implementations\AbstractMember.cs" />
<Compile Include="Src\Implementations\AbstractNamedEntity.cs" />
<Compile Include="Src\Implementations\AbstractReturnType.cs" />
<Compile Include="Src\Implementations\AnonymousMethodReturnType.cs" />
<Compile Include="Src\Implementations\ArrayReturnType.cs" />
@ -134,7 +133,7 @@ @@ -134,7 +133,7 @@
<Compile Include="Src\Interfaces\IAttribute.cs" />
<Compile Include="Src\Interfaces\IClass.cs" />
<Compile Include="Src\Interfaces\ICompilationUnit.cs" />
<Compile Include="Src\Interfaces\IDecoration.cs" />
<Compile Include="Src\Interfaces\IEntity.cs" />
<Compile Include="Src\Interfaces\IEvent.cs" />
<Compile Include="Src\Interfaces\IField.cs" />
<Compile Include="Src\Interfaces\IMember.cs" />

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs

@ -49,7 +49,7 @@ namespace ICSharpCode.SharpDevelop.Dom.CSharp @@ -49,7 +49,7 @@ namespace ICSharpCode.SharpDevelop.Dom.CSharp
return string.Empty;
}
string GetModifier(IDecoration decoration)
string GetModifier(IEntity decoration)
{
string ret = "";

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs

@ -62,7 +62,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -62,7 +62,7 @@ namespace ICSharpCode.SharpDevelop.Dom
/// <summary>
/// Create a SharpDevelop return type from a Cecil type reference.
/// </summary>
internal static IReturnType CreateType(IProjectContent pc, IDecoration member, TypeReference type)
internal static IReturnType CreateType(IProjectContent pc, IEntity member, TypeReference type)
{
while (type is ModType) {
type = (type as ModType).ElementType;

141
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractDecoration.cs → src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs

@ -10,45 +10,137 @@ using System.Collections.Generic; @@ -10,45 +10,137 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public abstract class AbstractDecoration : AbstractFreezable, IDecoration
public abstract class AbstractEntity : AbstractFreezable, IEntity
{
ModifierEnum modifiers = ModifierEnum.None;
IList<IAttribute> attributes;
DomRegion bodyRegion;
IClass declaringType;
object userData = null;
protected override void FreezeInternal()
string fullyQualifiedName = null;
string name = null;
string nspace = null;
public AbstractEntity(IClass declaringType)
{
attributes = FreezeList(attributes);
base.FreezeInternal();
this.declaringType = declaringType;
}
public IClass DeclaringType {
public AbstractEntity(IClass declaringType, string name)
{
if (declaringType == null)
throw new ArgumentNullException("declaringType");
this.declaringType = declaringType;
this.name = name;
nspace = declaringType.FullyQualifiedName;
// lazy-computing the fully qualified name for class members saves ~7 MB RAM (when loading the SharpDevelop solution).
//fullyQualifiedName = nspace + '.' + name;
}
public override string ToString()
{
return String.Format("[{0}: {1}]", GetType().Name, FullyQualifiedName);
}
#region Naming
static readonly char[] nameDelimiters = { '.', '+' };
public string FullyQualifiedName {
get {
return declaringType;
if (fullyQualifiedName == null) {
if (name != null && nspace != null) {
fullyQualifiedName = nspace + '.' + name;
} else {
return String.Empty;
}
}
return fullyQualifiedName;
}
set {
CheckBeforeMutation();
if (fullyQualifiedName == value)
return;
fullyQualifiedName = value;
name = null;
nspace = null;
OnFullyQualifiedNameChanged(EventArgs.Empty);
}
}
public object UserData {
protected virtual void OnFullyQualifiedNameChanged(EventArgs e)
{
}
public virtual string DotNetName {
get {
return userData;
if (this.DeclaringType != null) {
return this.DeclaringType.DotNetName + "." + this.Name;
} else {
return FullyQualifiedName;
}
}
set {
userData = value;
}
public string Name {
get {
if (name == null && FullyQualifiedName != null) {
int lastIndex = FullyQualifiedName.LastIndexOfAny(nameDelimiters);
if (lastIndex < 0) {
name = FullyQualifiedName;
} else {
name = FullyQualifiedName.Substring(lastIndex + 1);
}
}
return name;
}
}
public string Namespace {
get {
if (nspace == null && FullyQualifiedName != null) {
int lastIndex = FullyQualifiedName.LastIndexOf('.');
if (lastIndex < 0) {
nspace = String.Empty;
} else {
nspace = FullyQualifiedName.Substring(0, lastIndex);
}
}
return nspace;
}
}
public ModifierEnum Modifiers {
#endregion
protected override void FreezeInternal()
{
attributes = FreezeList(attributes);
base.FreezeInternal();
}
public IClass DeclaringType {
get {
return modifiers;
return declaringType;
}
}
public virtual DomRegion BodyRegion {
get {
return bodyRegion;
}
set {
CheckBeforeMutation();
modifiers = value;
bodyRegion = value;
}
}
public object UserData { get; set; }
public IList<IAttribute> Attributes {
get {
if (attributes == null) {
@ -92,6 +184,17 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -92,6 +184,17 @@ namespace ICSharpCode.SharpDevelop.Dom
get;
}
#region Modifiers
public ModifierEnum Modifiers {
get {
return modifiers;
}
set {
CheckBeforeMutation();
modifiers = value;
}
}
public bool IsAbstract {
get {
return (modifiers & ModifierEnum.Abstract) == ModifierEnum.Abstract;
@ -184,11 +287,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -184,11 +287,7 @@ namespace ICSharpCode.SharpDevelop.Dom
return (modifiers & ModifierEnum.Synthetic) == ModifierEnum.Synthetic;
}
}
public AbstractDecoration(IClass declaringType)
{
this.declaringType = declaringType;
}
#endregion
bool IsInnerClass(IClass c, IClass possibleInnerClass)
{
@ -230,14 +329,14 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -230,14 +329,14 @@ namespace ICSharpCode.SharpDevelop.Dom
return IsAccessible(callingClass, isClassInInheritanceTree);
}
public virtual int CompareTo(IDecoration value)
public virtual int CompareTo(IEntity value)
{
return this.Modifiers - value.Modifiers;
}
int IComparable.CompareTo(object value)
{
return CompareTo((IDecoration)value);
return CompareTo((IEntity)value);
}
}
}

13
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs

@ -10,11 +10,10 @@ using System.Collections.Generic; @@ -10,11 +10,10 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public abstract class AbstractMember : AbstractNamedEntity, IMember
public abstract class AbstractMember : AbstractEntity, IMember
{
IReturnType returnType;
DomRegion region;
DomRegion bodyRegion;
IList<ExplicitInterfaceImplementation> interfaceImplementations;
IReturnType declaringTypeReference;
@ -34,16 +33,6 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -34,16 +33,6 @@ namespace ICSharpCode.SharpDevelop.Dom
}
}
public virtual DomRegion BodyRegion {
get {
return bodyRegion;
}
set {
CheckBeforeMutation();
bodyRegion = value;
}
}
public virtual IReturnType ReturnType {
get {
return returnType;

116
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractNamedEntity.cs

@ -1,116 +0,0 @@ @@ -1,116 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
namespace ICSharpCode.SharpDevelop.Dom
{
public abstract class AbstractNamedEntity : AbstractDecoration
{
static readonly char[] nameDelimiters = { '.', '+' };
string fullyQualifiedName = null;
string name = null;
string nspace = null;
public string FullyQualifiedName {
get {
if (fullyQualifiedName == null) {
if (name != null && nspace != null) {
fullyQualifiedName = nspace + '.' + name;
} else {
return String.Empty;
}
}
return fullyQualifiedName;
}
set {
CheckBeforeMutation();
if (fullyQualifiedName == value)
return;
fullyQualifiedName = value;
name = null;
nspace = null;
OnFullyQualifiedNameChanged(EventArgs.Empty);
}
}
protected virtual void OnFullyQualifiedNameChanged(EventArgs e)
{
}
public virtual string DotNetName {
get {
if (this.DeclaringType != null) {
return this.DeclaringType.DotNetName + "." + this.Name;
} else {
return FullyQualifiedName;
}
}
}
public string Name {
get {
if (name == null && FullyQualifiedName != null) {
int lastIndex;
if (CanBeSubclass) {
lastIndex = FullyQualifiedName.LastIndexOfAny(nameDelimiters);
} else {
lastIndex = FullyQualifiedName.LastIndexOf('.');
}
if (lastIndex < 0) {
name = FullyQualifiedName;
} else {
name = FullyQualifiedName.Substring(lastIndex + 1);
}
}
return name;
}
}
public string Namespace {
get {
if (nspace == null && FullyQualifiedName != null) {
int lastIndex = FullyQualifiedName.LastIndexOf('.');
if (lastIndex < 0) {
nspace = String.Empty;
} else {
nspace = FullyQualifiedName.Substring(0, lastIndex);
}
}
return nspace;
}
}
protected virtual bool CanBeSubclass {
get {
return false;
}
}
public AbstractNamedEntity(IClass declaringType) : base(declaringType)
{
}
public AbstractNamedEntity(IClass declaringType, string name) : base(declaringType)
{
System.Diagnostics.Debug.Assert(declaringType != null);
this.name = name;
nspace = declaringType.FullyQualifiedName;
// lazy-computing the fully qualified name for class members saves ~7 MB RAM (when loading the SharpDevelop solution).
//fullyQualifiedName = nspace + '.' + name;
}
public override string ToString()
{
return String.Format("[{0}: {1}]", GetType().Name, FullyQualifiedName);
}
}
}

23
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs

@ -11,11 +11,10 @@ using System.Collections.Generic; @@ -11,11 +11,10 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public class DefaultClass : AbstractNamedEntity, IClass, IComparable
public class DefaultClass : AbstractEntity, IClass, IComparable
{
ClassType classType;
DomRegion region;
DomRegion bodyRegion;
ICompilationUnit compilationUnit;
@ -40,6 +39,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -40,6 +39,7 @@ namespace ICSharpCode.SharpDevelop.Dom
base.FreezeInternal();
}
/*
public virtual IClass Unfreeze()
{
DefaultClass copy = new DefaultClass(compilationUnit, DeclaringType);
@ -60,6 +60,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -60,6 +60,7 @@ namespace ICSharpCode.SharpDevelop.Dom
copy.UserData = this.UserData;
return copy;
}
*/
byte flags;
const byte hasPublicOrInternalStaticMembersFlag = 0x02;
@ -234,16 +235,6 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -234,16 +235,6 @@ namespace ICSharpCode.SharpDevelop.Dom
}
}
public DomRegion BodyRegion {
get {
return bodyRegion;
}
set {
CheckBeforeMutation();
bodyRegion = value;
}
}
public override string DotNetName {
get {
string fullName;
@ -338,7 +329,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -338,7 +329,7 @@ namespace ICSharpCode.SharpDevelop.Dom
{
int cmp;
if(0 != (cmp = base.CompareTo((IDecoration)value))) {
if(0 != (cmp = base.CompareTo((IEntity)value))) {
return cmp;
}
@ -395,12 +386,6 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -395,12 +386,6 @@ namespace ICSharpCode.SharpDevelop.Dom
protected bool UseInheritanceCache = false;
protected override bool CanBeSubclass {
get {
return true;
}
}
public IReturnType GetBaseType(int index)
{
return BaseTypes[index];

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs

@ -66,7 +66,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -66,7 +66,7 @@ namespace ICSharpCode.SharpDevelop.Dom
{
int cmp;
if(0 != (cmp = base.CompareTo((IDecoration)value)))
if(0 != (cmp = base.CompareTo((IEntity)value)))
return cmp;
if (FullyQualifiedName != null) {

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs

@ -37,7 +37,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -37,7 +37,7 @@ namespace ICSharpCode.SharpDevelop.Dom
{
int cmp;
cmp = base.CompareTo((IDecoration)field);
cmp = base.CompareTo((IEntity)field);
if (cmp != 0) {
return cmp;
}

35
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs

@ -11,12 +11,15 @@ using System.Collections.ObjectModel; @@ -11,12 +11,15 @@ using System.Collections.ObjectModel;
namespace ICSharpCode.SharpDevelop.Dom
{
public interface IClass : IDecoration
public interface IClass : IEntity
{
string FullyQualifiedName {
/// <summary>
/// Region of the whole class including the body.
/// </summary>
DomRegion Region {
get;
}
/// <summary>
/// The default return type to use for this class.
/// This property is mutable even when the IClass is frozen, see
@ -25,21 +28,6 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -25,21 +28,6 @@ namespace ICSharpCode.SharpDevelop.Dom
/// </summary>
IReturnType DefaultReturnType { get; }
/// <summary>
/// The fully qualified name in the internal .NET notation (with `1 for generic types)
/// </summary>
string DotNetName {
get;
}
string Name {
get;
}
string Namespace {
get;
}
ClassType ClassType {
get;
}
@ -55,17 +43,6 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -55,17 +43,6 @@ namespace ICSharpCode.SharpDevelop.Dom
get;
}
/// <summary>
/// Region of the whole class including the body.
/// </summary>
DomRegion Region {
get;
}
DomRegion BodyRegion {
get;
}
IList<IReturnType> BaseTypes {
get;
}

25
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IDecoration.cs → src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IEntity.cs

@ -10,8 +10,31 @@ using System.Collections.Generic; @@ -10,8 +10,31 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public interface IDecoration : IFreezable, IComparable
public interface IEntity : IFreezable, IComparable
{
string FullyQualifiedName {
get;
}
string Name {
get;
}
string Namespace {
get;
}
/// <summary>
/// The fully qualified name in the internal .NET notation (with `1 for generic types)
/// </summary>
string DotNetName {
get;
}
DomRegion BodyRegion {
get;
}
IClass DeclaringType {
get;
}

30
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs

@ -10,9 +10,12 @@ using System.Collections.Generic; @@ -10,9 +10,12 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public interface IMember : IDecoration, ICloneable
public interface IMember : IEntity, ICloneable
{
string FullyQualifiedName {
/// <summary>
/// Declaration region of the member (without body!)
/// </summary>
DomRegion Region {
get;
}
@ -42,34 +45,11 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -42,34 +45,11 @@ namespace ICSharpCode.SharpDevelop.Dom
/// </summary>
IMember CreateSpecializedMember();
/// <summary>
/// Declaration region of the member (without body!)
/// </summary>
DomRegion Region {
get;
}
string Name {
get;
}
string Namespace {
get;
}
string DotNetName {
get;
}
IReturnType ReturnType {
get;
set;
}
DomRegion BodyRegion {
get;
}
IList<ExplicitInterfaceImplementation> InterfaceImplementations {
get;
}

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs

@ -187,7 +187,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -187,7 +187,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return data;
}
void ConvertAttributes(AST.AttributedNode from, AbstractDecoration to)
void ConvertAttributes(AST.AttributedNode from, AbstractEntity to)
{
if (from.Attributes.Count == 0) {
to.Attributes = DefaultAttribute.EmptyAttributeList;

4
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs

@ -863,7 +863,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -863,7 +863,7 @@ namespace ICSharpCode.SharpDevelop.Dom
/// Gets the position of a member in this project content (not a referenced one).
/// </summary>
/// <param name="fullMemberName">The full member name in Reflection syntax (always case sensitive, ` for generics)</param>
public IDecoration GetElement(string fullMemberName)
public IEntity GetElement(string fullMemberName)
{
IClass curClass = GetClassByDotNetName(fullMemberName, false);
if (curClass != null) {
@ -932,7 +932,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -932,7 +932,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public FilePosition GetPosition(string fullMemberName)
{
IDecoration d = GetElement(fullMemberName);
IEntity d = GetElement(fullMemberName);
IMember m = d as IMember;
IClass c = d as IClass;
if (m != null) {

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs

@ -103,7 +103,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -103,7 +103,7 @@ namespace ICSharpCode.SharpDevelop.Dom
/// Gets the position of a member in this project content (not a referenced one).
/// </summary>
/// <param name="fullMemberName">The full member name in Reflection syntax (always case sensitive, ` for generics)</param>
IDecoration GetElement(string fullMemberName);
IEntity GetElement(string fullMemberName);
/// <summary>
/// Gets the definition position of the class/member.

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs

@ -748,7 +748,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -748,7 +748,7 @@ namespace ICSharpCode.SharpDevelop.Dom
}
}
void ReadAttributes(AbstractDecoration decoration)
void ReadAttributes(AbstractEntity decoration)
{
int count = reader.ReadUInt16();
if (count > 0) {

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs

@ -27,7 +27,7 @@ namespace ICSharpCode.SharpDevelop.Dom.ReflectionLayer @@ -27,7 +27,7 @@ namespace ICSharpCode.SharpDevelop.Dom.ReflectionLayer
return Create(member.DeclaringType.ProjectContent, member, type, createLazyReturnType);
}
public static IReturnType Create(IProjectContent pc, IDecoration member, Type type, bool createLazyReturnType)
public static IReturnType Create(IProjectContent pc, IEntity member, Type type, bool createLazyReturnType)
{
if (type.IsByRef) {
// TODO: Use ByRefRefReturnType

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs

@ -24,7 +24,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet @@ -24,7 +24,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
get { return instance; }
}
string GetModifier(IDecoration decoration)
string GetModifier(IEntity decoration)
{
StringBuilder builder = new StringBuilder();

187
src/SharpDevelop.Tests.sln

@ -1,118 +1,122 @@ @@ -1,118 +1,122 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
# SharpDevelop 3.0.0.2847
# SharpDevelop 3.0.0.2917
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Tests", "AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Tests\WpfDesign.Tests.csproj", "{943DBBB3-E84E-4CF4-917C-C05AFA8743C1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{5DA95927-5F2D-46D8-9265-D092734B6F0E}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor.Tests", "Libraries\ICSharpCode.TextEditor\Test\ICSharpCode.TextEditor.Tests.csproj", "{6259D767-BA7C-484D-9472-68F350A20086}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor.Tests", "Libraries\ICSharpCode.TextEditor\Test\ICSharpCode.TextEditor.Tests.csproj", "{6259D767-BA7C-484D-9472-68F350A20086}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}"
EndProject
Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "{970116b0-f96b-4257-8579-986b9cf086f5}"
EndProject
@ -355,52 +359,53 @@ Global @@ -355,52 +359,53 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{C9DE556D-325C-4544-B29F-16A9EB7C9830} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{5DA95927-5F2D-46D8-9265-D092734B6F0E} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A569DCC1-C608-45FD-B770-4F79335EF154} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{78CC29AC-CC79-4355-B1F2-97936DF198AC} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{870115DD-960A-4406-A6B9-600BCDC36A03} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{78CC29AC-CC79-4355-B1F2-97936DF198AC} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{943DBBB3-E84E-4CF4-917C-C05AFA8743C1} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{C9DE556D-325C-4544-B29F-16A9EB7C9830} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{870115DD-960A-4406-A6B9-600BCDC36A03} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
EndGlobalSection
EndGlobal

Loading…
Cancel
Save