Browse Source

Fixed forum-8965: "+=" code completion for events did not work if delegate was declared in source code.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3793 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
f0c3caffd7
  1. 10
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs
  2. 4
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/SystemTypes.cs
  3. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/NRefactoryASTConvertVisitor.cs

10
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
// </file>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
@ -328,16 +329,9 @@ namespace ICSharpCode.SharpDevelop.Project @@ -328,16 +329,9 @@ namespace ICSharpCode.SharpDevelop.Project
/// </summary>
void DeleteChildNodes()
{
if (Nodes.Count == 0) return;
foreach (TreeNode node in Nodes) {
FileNode fileNode = node as FileNode;
if (fileNode != null) {
foreach (FileNode fileNode in Nodes.OfType<FileNode>().ToList()) {
fileNode.DeleteChildNodes(); // delete recursively
FileService.RemoveFile(fileNode.FileName, false);
} else {
LoggingService.Warn("FileNode.DeleteChildren. Child is not a FileNode.");
}
}
}
}

4
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Implementations/SystemTypes.cs

@ -15,6 +15,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -15,6 +15,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public readonly IReturnType Void;
public readonly IReturnType Object;
public readonly IReturnType Delegate;
public readonly IReturnType MulticastDelegate;
public readonly IReturnType ValueType;
public readonly IReturnType Enum;
@ -39,6 +40,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -39,6 +40,7 @@ namespace ICSharpCode.SharpDevelop.Dom
Void = new VoidReturnType(pc);
Object = CreateFromName("System.Object");
Delegate = CreateFromName("System.Delegate");
MulticastDelegate = CreateFromName("System.MulticastDelegate");
ValueType = CreateFromName("System.ValueType");
Enum = CreateFromName("System.Enum");
@ -53,7 +55,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -53,7 +55,7 @@ namespace ICSharpCode.SharpDevelop.Dom
Exception = CreateFromName("System.Exception");
AsyncCallback = CreateFromName("System.AsyncCallback");
IAsyncResult = CreateFromName("System.IAsyncResult");
IAsyncResult = CreateFromName("System.IDisposable");
IDisposable = CreateFromName("System.IDisposable");
}
IReturnType CreateFromName(string name)

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

@ -472,7 +472,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -472,7 +472,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
void CreateDelegate(DefaultClass c, string name, AST.TypeReference returnType, IList<AST.TemplateDefinition> templates, IList<AST.ParameterDeclarationExpression> parameters)
{
c.BaseTypes.Add(c.ProjectContent.SystemTypes.Delegate);
c.BaseTypes.Add(c.ProjectContent.SystemTypes.MulticastDelegate);
if (currentClass.Count > 0) {
DefaultClass cur = GetCurrentClass();
cur.InnerClasses.Add(c);

Loading…
Cancel
Save