diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs
index b5812e4f57..471c769c7e 100644
--- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs
+++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooAmbience.cs
@@ -116,7 +116,7 @@ namespace Grunwald.BooBinding
return string.Empty;
}
- string GetModifier(IDecoration decoration)
+ string GetModifier(IEntity decoration)
{
string ret = "";
diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
index d52011aef4..b1076de35e 100644
--- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
+++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
@@ -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;
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
index 454b0d0566..232168408b 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
@@ -230,7 +230,7 @@ namespace CSharpBinding
///
/// 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.
///
sealed class RenamedClass : DefaultClass, IClass
{
@@ -243,7 +243,7 @@ namespace CSharpBinding
this.FullyQualifiedName = c.FullyQualifiedName;
}
- string IClass.Name {
+ string IEntity.Name {
get { return newName; }
}
}
diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs
index 344d2af5ed..1487f00db8 100644
--- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs
+++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockProjectContent.cs
@@ -337,7 +337,7 @@ namespace PythonBinding.Tests.Utils
throw new NotImplementedException();
}
- public IDecoration GetElement(string fullMemberName)
+ public IEntity GetElement(string fullMemberName)
{
throw new NotImplementedException();
}
diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs
index 7f11eda100..524d05b308 100644
--- a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs
+++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs
@@ -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+"']");
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs
index 78c2c3e9ff..48c67ca59d 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/PropertyDescriptionService.cs
@@ -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) {
diff --git a/src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs b/src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs
index 0aaae42f83..bd54a1439f 100644
--- a/src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs
+++ b/src/AddIns/Misc/UnitTesting/Test/Utils/MockProjectContent.cs
@@ -148,7 +148,7 @@ namespace UnitTesting.Tests.Utils
throw new NotImplementedException();
}
- public IDecoration GetElement(string fullMemberName)
+ public IEntity GetElement(string fullMemberName)
{
throw new NotImplementedException();
}
diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs
index f48b3c6550..f114b304de 100644
--- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs
+++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/LineManager/LineManager.cs
@@ -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)
diff --git a/src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs b/src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
index f95f43509a..b115a01c39 100644
--- a/src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
+++ b/src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
@@ -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();
}
diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
index be11316dfc..70327e1ace 100644
--- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
+++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
@@ -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;
diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs b/src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs
index 7c5062cff5..553cb58fbb 100644
--- a/src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs
+++ b/src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs
@@ -309,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
/// Gets the files of files that could have a reference to the
/// int the .
///
- static List GetPossibleFiles(IClass ownerClass, IDecoration member)
+ static List GetPossibleFiles(IClass ownerClass, IEntity member)
{
List resultList = new List();
if (ProjectService.OpenSolution == null) {
diff --git a/src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs b/src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs
index 4527357c38..486f9f426a 100644
--- a/src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs
+++ b/src/Main/Base/Project/Src/TextEditor/Bookmarks/Bookmark.cs
@@ -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
diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs
index 1694c335df..61ddc197de 100644
--- a/src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs
+++ b/src/Main/Base/Project/Src/TextEditor/Gui/Dialogs/GotoDialog.cs
@@ -123,6 +123,7 @@ namespace ICSharpCode.SharpDevelop.Gui
}
Dictionary visibleEntries = new Dictionary();
+ int bestMatchType;
double bestPriority;
ListViewItem bestItem;
@@ -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
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
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
{
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
}
}
- 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
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)
diff --git a/src/Main/Base/Test/AbstractDecorationIsOverridableTestFixture.cs b/src/Main/Base/Test/AbstractEntityIsOverridableTestFixture.cs
similarity index 59%
rename from src/Main/Base/Test/AbstractDecorationIsOverridableTestFixture.cs
rename to src/Main/Base/Test/AbstractEntityIsOverridableTestFixture.cs
index a0660c446f..c1d9931d72 100644
--- a/src/Main/Base/Test/AbstractDecorationIsOverridableTestFixture.cs
+++ b/src/Main/Base/Test/AbstractEntityIsOverridableTestFixture.cs
@@ -16,48 +16,48 @@ namespace ICSharpCode.SharpDevelop.Tests
/// Tests that the IsOverridable property returns the expected value.
///
[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);
}
}
}
diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
index 82172470fc..2a3f62fda6 100644
--- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
+++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
@@ -50,7 +50,7 @@
-
+
@@ -71,7 +71,7 @@
-
+
diff --git a/src/Main/Base/Test/Utils/MockDecoration.cs b/src/Main/Base/Test/Utils/MockEntity.cs
similarity index 83%
rename from src/Main/Base/Test/Utils/MockDecoration.cs
rename to src/Main/Base/Test/Utils/MockEntity.cs
index a049f9a78c..d267e12d11 100644
--- a/src/Main/Base/Test/Utils/MockDecoration.cs
+++ b/src/Main/Base/Test/Utils/MockEntity.cs
@@ -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)
{
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj
index 31f7974436..a448ea8bd7 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/ICSharpCode.SharpDevelop.Dom.csproj
@@ -63,9 +63,8 @@
Configuration\GlobalAssemblyInfo.cs
-
+
-
@@ -134,7 +133,7 @@
-
+
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs
index 7d8f9149d0..dc77c39820 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CSharp/CSharpAmbience.cs
@@ -49,7 +49,7 @@ namespace ICSharpCode.SharpDevelop.Dom.CSharp
return string.Empty;
}
- string GetModifier(IDecoration decoration)
+ string GetModifier(IEntity decoration)
{
string ret = "";
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs
index e41ee5d089..f73434c4ac 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CecilReader.cs
@@ -62,7 +62,7 @@ namespace ICSharpCode.SharpDevelop.Dom
///
/// Create a SharpDevelop return type from a Cecil type reference.
///
- 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;
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractDecoration.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs
similarity index 65%
rename from src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractDecoration.cs
rename to src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs
index 80ee883730..1058d59aef 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractDecoration.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractEntity.cs
@@ -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 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 Attributes {
get {
if (attributes == null) {
@@ -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
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
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);
}
}
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs
index 2982b24ef1..b52299d7e0 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractMember.cs
@@ -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 interfaceImplementations;
IReturnType declaringTypeReference;
@@ -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;
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractNamedEntity.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractNamedEntity.cs
deleted file mode 100644
index 8317b3e90c..0000000000
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/AbstractNamedEntity.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-//
-//
-//
-//
-// $Revision$
-//
-
-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);
- }
- }
-}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs
index 5a15783d1b..a566ca8d85 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultClass.cs
@@ -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
base.FreezeInternal();
}
+ /*
public virtual IClass Unfreeze()
{
DefaultClass copy = new DefaultClass(compilationUnit, DeclaringType);
@@ -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
}
}
- 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
{
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
protected bool UseInheritanceCache = false;
- protected override bool CanBeSubclass {
- get {
- return true;
- }
- }
-
public IReturnType GetBaseType(int index)
{
return BaseTypes[index];
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs
index e5333abe79..a18a6048f9 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultEvent.cs
@@ -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) {
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs
index eebc5f20c9..a7e4241801 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/DefaultField.cs
@@ -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;
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs
index 8dca0b554c..33d5c68160 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IClass.cs
@@ -11,12 +11,15 @@ using System.Collections.ObjectModel;
namespace ICSharpCode.SharpDevelop.Dom
{
- public interface IClass : IDecoration
+ public interface IClass : IEntity
{
- string FullyQualifiedName {
+ ///
+ /// Region of the whole class including the body.
+ ///
+ DomRegion Region {
get;
}
-
+
///
/// 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
///
IReturnType DefaultReturnType { get; }
- ///
- /// The fully qualified name in the internal .NET notation (with `1 for generic types)
- ///
- string DotNetName {
- get;
- }
-
- string Name {
- get;
- }
-
- string Namespace {
- get;
- }
-
ClassType ClassType {
get;
}
@@ -55,17 +43,6 @@ namespace ICSharpCode.SharpDevelop.Dom
get;
}
- ///
- /// Region of the whole class including the body.
- ///
- DomRegion Region {
- get;
- }
-
- DomRegion BodyRegion {
- get;
- }
-
IList BaseTypes {
get;
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IDecoration.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IEntity.cs
similarity index 83%
rename from src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IDecoration.cs
rename to src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IEntity.cs
index c3c1f0c425..ee988a5997 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IDecoration.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IEntity.cs
@@ -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;
+ }
+
+ ///
+ /// The fully qualified name in the internal .NET notation (with `1 for generic types)
+ ///
+ string DotNetName {
+ get;
+ }
+
+ DomRegion BodyRegion {
+ get;
+ }
+
IClass DeclaringType {
get;
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs
index b1ccf3bf05..984e7357c0 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Interfaces/IMember.cs
@@ -10,9 +10,12 @@ using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
- public interface IMember : IDecoration, ICloneable
+ public interface IMember : IEntity, ICloneable
{
- string FullyQualifiedName {
+ ///
+ /// Declaration region of the member (without body!)
+ ///
+ DomRegion Region {
get;
}
@@ -42,34 +45,11 @@ namespace ICSharpCode.SharpDevelop.Dom
///
IMember CreateSpecializedMember();
- ///
- /// Declaration region of the member (without body!)
- ///
- DomRegion Region {
- get;
- }
-
- string Name {
- get;
- }
-
- string Namespace {
- get;
- }
-
- string DotNetName {
- get;
- }
-
IReturnType ReturnType {
get;
set;
}
- DomRegion BodyRegion {
- get;
- }
-
IList InterfaceImplementations {
get;
}
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
index df459f2e99..7e700c77a6 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
@@ -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;
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs
index 1aa780a9b8..f00fdb7aeb 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs
@@ -863,7 +863,7 @@ namespace ICSharpCode.SharpDevelop.Dom
/// Gets the position of a member in this project content (not a referenced one).
///
/// The full member name in Reflection syntax (always case sensitive, ` for generics)
- 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
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) {
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs
index 41c128ebe4..f821234b5a 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/IProjectContent.cs
@@ -103,7 +103,7 @@ namespace ICSharpCode.SharpDevelop.Dom
/// Gets the position of a member in this project content (not a referenced one).
///
/// The full member name in Reflection syntax (always case sensitive, ` for generics)
- IDecoration GetElement(string fullMemberName);
+ IEntity GetElement(string fullMemberName);
///
/// Gets the definition position of the class/member.
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs
index bf03a4e68e..d83e95336d 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/DomPersistence.cs
@@ -748,7 +748,7 @@ namespace ICSharpCode.SharpDevelop.Dom
}
}
- void ReadAttributes(AbstractDecoration decoration)
+ void ReadAttributes(AbstractEntity decoration)
{
int count = reader.ReadUInt16();
if (count > 0) {
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs
index e2f5d064e1..340b725cbf 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ReflectionLayer/ReflectionReturnType.cs
@@ -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
diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs
index dcef8cb49b..cfd94b0d51 100644
--- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs
+++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetAmbience.cs
@@ -24,7 +24,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
get { return instance; }
}
- string GetModifier(IDecoration decoration)
+ string GetModifier(IEntity decoration)
{
StringBuilder builder = new StringBuilder();
diff --git a/src/SharpDevelop.Tests.sln b/src/SharpDevelop.Tests.sln
index cc76f456b6..fc049dca72 100644
--- a/src/SharpDevelop.Tests.sln
+++ b/src/SharpDevelop.Tests.sln
@@ -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
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