Browse Source

Put ICSharpCode.SharpDevelop.Dom in a separate assembly.

WorkbenchSingleton.SafeThreadCall is now a generic method to check that the types of the arguments match the parameter types expected by the delegate.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1661 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
c9ecec41f3
  1. 2
      src/AddIns/BackendBindings/Boo/Boo.InterpreterAddIn/Project/InteractiveInterpreterControl.boo
  2. 5
      src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.csproj
  3. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooCodeGenerator.cs
  4. 11
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooLanguageProperties.cs
  5. 8
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs
  6. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooAdvancedHighlighter.cs
  7. 4
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs
  8. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooRefactoringProvider.cs
  9. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ExpressionFinder.cs
  10. 5
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
  11. 8
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs
  12. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs
  13. 6
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs
  14. 5
      src/AddIns/BackendBindings/ILAsmBinding/Project/ILAsmBinding.csproj
  15. 2
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs
  16. 8
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/ProjectImports.cs
  17. 6
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs
  18. 2
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
  19. 17
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs
  20. 5
      src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj
  21. 5
      src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj
  22. 5
      src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj
  23. 2
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs
  24. 24
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs
  25. 6
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs
  26. 4
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/HelpService.cs
  27. 2
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs
  28. 13
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs
  29. 26
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/ToolboxProvider.cs
  30. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/Parser.cs
  31. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlEditorControl.cs
  32. 23
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs
  33. 5
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj
  34. 5
      src/AddIns/Misc/CodeAnalysis/CodeAnalysis.csproj
  35. 7
      src/AddIns/Misc/CodeAnalysis/Src/FxCopLogger.cs
  36. 14
      src/AddIns/Misc/CodeAnalysis/Src/SuppressMessageCommand.cs
  37. 5
      src/AddIns/Misc/CodeCoverage/Project/CodeCoverage.csproj
  38. 6
      src/AddIns/Misc/CodeCoverage/Project/Src/RunTestWithCodeCoverageCommand.cs
  39. 5
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj
  40. 5
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj
  41. 4
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  42. 5
      src/AddIns/Misc/MonoAddIn/Project/MonoAddIn.csproj
  43. 5
      src/AddIns/Misc/MonoReflectionLoader/Project/MonoReflectionLoader.csproj
  44. 5
      src/AddIns/Misc/NAntAddIn/Project/NAntAddIn.csproj
  45. 1
      src/AddIns/Misc/NAntAddIn/Project/Src/AddInOptions.cs
  46. 4
      src/AddIns/Misc/NAntAddIn/Project/Src/Commands/AbstractRunNAntCommand.cs
  47. 2
      src/AddIns/Misc/NAntAddIn/Project/Src/Gui/NAntPadContent.cs
  48. 2
      src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj
  49. 2
      src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs
  50. 2
      src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/ProjectBrowserCommands.cs
  51. 2
      src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/DiffPanel.cs
  52. 25
      src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryView.cs
  53. 26
      src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryViewDisplayBinding.cs
  54. 6
      src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryViewPanel.cs
  55. 4
      src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/InfoPanel.cs
  56. 4
      src/AddIns/Misc/SubversionAddIn/Project/Src/SvnClient.cs
  57. 5
      src/AddIns/Misc/SubversionAddIn/Project/SubversionAddIn.csproj
  58. 8
      src/AddIns/Misc/UnitTesting/Src/PadContent.cs
  59. 8
      src/AddIns/Misc/UnitTesting/Src/TestTreeView.cs
  60. 2
      src/AddIns/Misc/UnitTesting/Src/TestableCondition.cs
  61. 6
      src/AddIns/Misc/UnitTesting/Src/UnitTestApplicationStartHelper.cs
  62. 5
      src/AddIns/Misc/UnitTesting/UnitTesting.csproj
  63. 98
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  64. 71
      src/Main/Base/Project/Src/Dom/FilePosition.cs
  65. 23
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs
  66. 2
      src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs
  67. 4
      src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs
  68. 2
      src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/Nodes/ReferenceFolderNode.cs
  69. 15
      src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs
  70. 10
      src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs
  71. 8
      src/Main/Base/Project/Src/Gui/Pads/FileScout.cs
  72. 4
      src/Main/Base/Project/Src/Gui/Pads/PropertyPad/PropertyPad.cs
  73. 4
      src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs
  74. 4
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceWindow.cs
  75. 74
      src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs
  76. 15
      src/Main/Base/Project/Src/Project/IProject.cs
  77. 2
      src/Main/Base/Project/Src/Project/Solution/Solution.cs
  78. 2
      src/Main/Base/Project/Src/Services/AmbienceService/AmbienceReflectionDecorator.cs
  79. 1
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
  80. 11
      src/Main/Base/Project/Src/Services/Debugger/DefaultDebugger.cs
  81. 3
      src/Main/Base/Project/Src/Services/HelpProvider.cs
  82. 106
      src/Main/Base/Project/Src/Services/ParserService/AssemblyInformation.cs
  83. 2
      src/Main/Base/Project/Src/Services/ParserService/CodeCompletionOptions.cs
  84. 49
      src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs
  85. 26
      src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs
  86. 52
      src/Main/Base/Project/Src/Services/ParserService/ParserService.cs
  87. 41
      src/Main/Base/Project/Src/Services/ParserService/Position.cs
  88. 4
      src/Main/Base/Project/Src/Services/ProjectService/ParseableFileContentEnumerator.cs
  89. 5
      src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs
  90. 2
      src/Main/Base/Project/Src/Services/RefactoringService/NamespaceRefactoringService.cs
  91. 1
      src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs
  92. 3
      src/Main/Base/Project/Src/Services/RefactoringService/RefactoringMenuBuilder.cs
  93. 122
      src/Main/Base/Project/Src/Services/RefactoringService/TextEditorDocument.cs
  94. 4
      src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs
  95. 8
      src/Main/Base/Project/Src/Services/Tasks/TaskService.cs
  96. 8
      src/Main/Base/Project/Src/TextEditor/Actions.cs
  97. 11
      src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs
  98. 19
      src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs
  99. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs
  100. 5
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/CodeGeneratorBase.cs
  101. Some files were not shown because too many files have changed in this diff Show More

2
src/AddIns/BackendBindings/Boo/Boo.InterpreterAddIn/Project/InteractiveInterpreterControl.boo

@ -78,7 +78,7 @@ class InteractiveInterpreterControl(TextEditorControl): @@ -78,7 +78,7 @@ class InteractiveInterpreterControl(TextEditorControl):
self._interpreter.LinePrinted += def(line as string):
if WorkbenchSingleton.InvokeRequired:
WorkbenchSingleton.SafeThreadAsyncCall(self.print, (line,))
WorkbenchSingleton.SafeThreadAsyncCall({ self.print(line) })
else:
self.print(line)
self._interpreter.Cleared += def():

5
src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.csproj

@ -149,6 +149,11 @@ @@ -149,6 +149,11 @@
</ProjectReference>
<Folder Include="Configuration" />
<Folder Include="Resources" />
<ProjectReference Include="..\..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<Import Project="PostBuildEvent.proj" />

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

@ -15,8 +15,8 @@ using Boo.Lang.Compiler.Ast.Visitors; @@ -15,8 +15,8 @@ using Boo.Lang.Compiler.Ast.Visitors;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Ast;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.TextEditor.Document;
using NRefactoryToBooConverter;
namespace Grunwald.BooBinding

11
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooLanguageProperties.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
using System;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
namespace Grunwald.BooBinding
{
@ -14,7 +15,7 @@ namespace Grunwald.BooBinding @@ -14,7 +15,7 @@ namespace Grunwald.BooBinding
{
public readonly static BooLanguageProperties Instance = new BooLanguageProperties();
public BooLanguageProperties() : base(StringComparer.InvariantCulture, BooCodeGenerator.Instance) {}
public BooLanguageProperties() : base(StringComparer.InvariantCulture) {}
public override bool SupportsExtensionMethods {
get {
@ -46,10 +47,16 @@ namespace Grunwald.BooBinding @@ -46,10 +47,16 @@ namespace Grunwald.BooBinding
}
}
public override ICSharpCode.SharpDevelop.Refactoring.RefactoringProvider RefactoringProvider {
public override RefactoringProvider RefactoringProvider {
get {
return CodeCompletion.BooRefactoringProvider.BooProvider;
}
}
public override CodeGenerator CodeGenerator {
get {
return BooCodeGenerator.Instance;
}
}
}
}

8
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs

@ -78,16 +78,16 @@ namespace Grunwald.BooBinding @@ -78,16 +78,16 @@ namespace Grunwald.BooBinding
{
ParseProjectContent pc = base.CreateProjectContent();
ReferenceProjectItem systemItem = new ReferenceProjectItem(this, "System");
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(systemItem));
pc.ReferencedContents.Add(ParserService.GetProjectContentForReference(systemItem));
ReferenceProjectItem booLangItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Builtins).Assembly.Location);
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(booLangItem));
pc.ReferencedContents.Add(ParserService.GetProjectContentForReference(booLangItem));
if (BooCompilerPC == null) {
ReferenceProjectItem booCompilerItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Compiler.AbstractAstAttribute).Assembly.Location);
BooCompilerPC = ProjectContentRegistry.GetProjectContentForReference(booCompilerItem);
BooCompilerPC = ParserService.GetProjectContentForReference(booCompilerItem);
}
if (BooUsefulPC == null) {
ReferenceProjectItem booUsefulItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Useful.Attributes.SingletonAttribute).Assembly.Location);
BooUsefulPC = ProjectContentRegistry.GetProjectContentForReference(booUsefulItem);
BooUsefulPC = ParserService.GetProjectContentForReference(booUsefulItem);
}
pc.DefaultImports = new DefaultUsing(pc);
pc.DefaultImports.Usings.Add("Boo.Lang");

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

@ -84,7 +84,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -84,7 +84,7 @@ namespace Grunwald.BooBinding.CodeCompletion
this.declarations = visitor.declarations; // volatile access!
}
}
WorkbenchSingleton.SafeThreadAsyncCall((System.Threading.ThreadStart)MarkOutstanding);
WorkbenchSingleton.SafeThreadAsyncCall(MarkOutstanding);
}
}

4
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs

@ -49,7 +49,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -49,7 +49,7 @@ namespace Grunwald.BooBinding.CodeCompletion
return string.Equals(Path.GetExtension(fileName), ".boo", StringComparison.InvariantCultureIgnoreCase);
}
public bool CanParse(IProject project)
public bool CanParse(IDomProject project)
{
return project.Language == BooLanguageBinding.LanguageName;
}
@ -145,7 +145,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -145,7 +145,7 @@ namespace Grunwald.BooBinding.CodeCompletion
} else {
foreach (string tag in lexerTags) {
if (text.StartsWith(tag)) {
Tag tagComment = new Tag(tag, new DomRegion(line, commentStartColumn));
TagComment tagComment = new TagComment(tag, new DomRegion(line, commentStartColumn));
tagComment.CommentString = text.Substring(tag.Length);
cu.TagComments.Add(tagComment);
break;

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

@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
using System;
using System.IO;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
namespace Grunwald.BooBinding.CodeCompletion
{

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

@ -213,7 +213,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -213,7 +213,7 @@ namespace Grunwald.BooBinding.CodeCompletion
IClass c = o as IClass;
if (c != null && c.IsAbstract)
return false;
if (ExpressionContext.Attribute.ShowEntry(o))
if (ExpressionContext.GetAttribute(ParserService.CurrentProjectContent).ShowEntry(o))
return true;
if (c == null)
return false;

5
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj

@ -88,6 +88,11 @@ @@ -88,6 +88,11 @@
<Private>False</Private>
</ProjectReference>
<Folder Include="Src\PrettyPrinter\Gui\" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

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

@ -11,8 +11,10 @@ using ICSharpCode.Core; @@ -11,8 +11,10 @@ using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Parser;
using ICSharpCode.NRefactory.Visitors;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.TextEditor.Gui.CompletionWindow;
@ -154,7 +156,7 @@ namespace CSharpBinding @@ -154,7 +156,7 @@ namespace CSharpBinding
editor.Document.TextContent);
if (rr != null && rr.ResolvedType != null) {
ClassFinder context = new ClassFinder(editor.FileName, editor.ActiveTextAreaControl.Caret.Line, t.col);
if (ICSharpCode.SharpDevelop.Refactoring.CodeGenerator.CanUseShortTypeName(rr.ResolvedType, context))
if (CodeGenerator.CanUseShortTypeName(rr.ResolvedType, context))
CSharpAmbience.Instance.ConversionFlags = ConversionFlags.None;
else
CSharpAmbience.Instance.ConversionFlags = ConversionFlags.UseFullyQualifiedNames;
@ -321,7 +323,7 @@ namespace CSharpBinding @@ -321,7 +323,7 @@ namespace CSharpBinding
IMember GetCurrentMember(SharpDevelopTextAreaControl editor)
{
ICSharpCode.TextEditor.Caret caret = editor.ActiveTextAreaControl.Caret;
NRefactoryResolver r = new NRefactoryResolver(SupportedLanguage.CSharp);
NRefactoryResolver r = new NRefactoryResolver(ParserService.CurrentProjectContent);
if (r.Initialize(editor.FileName, caret.Line + 1, caret.Column + 1)) {
return r.CallingMember;
} else {
@ -333,7 +335,7 @@ namespace CSharpBinding @@ -333,7 +335,7 @@ namespace CSharpBinding
bool DoCaseCompletion(SharpDevelopTextAreaControl editor)
{
ICSharpCode.TextEditor.Caret caret = editor.ActiveTextAreaControl.Caret;
NRefactoryResolver r = new NRefactoryResolver(SupportedLanguage.CSharp);
NRefactoryResolver r = new NRefactoryResolver(ParserService.CurrentProjectContent);
if (r.Initialize(editor.FileName, caret.Line + 1, caret.Column + 1)) {
AST.INode currentMember = r.ParseCurrentMember(editor.Text);
if (currentMember != null) {

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs

@ -35,7 +35,7 @@ namespace CSharpBinding.Parser @@ -35,7 +35,7 @@ namespace CSharpBinding.Parser
return new ExpressionResult(expression.Substring(4).TrimStart(), GetCreationContext(), null);
}
if (IsInAttribute(inText, offset))
return new ExpressionResult(expression, ExpressionContext.Attribute);
return new ExpressionResult(expression, ExpressionContext.GetAttribute(ParserService.CurrentProjectContent));
return new ExpressionResult(expression);
}

6
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs

@ -48,7 +48,7 @@ namespace CSharpBinding.Parser @@ -48,7 +48,7 @@ namespace CSharpBinding.Parser
return Path.GetExtension(fileName).Equals(".CS", StringComparison.OrdinalIgnoreCase);
}
public bool CanParse(IProject project)
public bool CanParse(IDomProject project)
{
return project.Language == "C#";
}
@ -110,7 +110,7 @@ namespace CSharpBinding.Parser @@ -110,7 +110,7 @@ namespace CSharpBinding.Parser
{
foreach (ICSharpCode.NRefactory.Parser.TagComment tagComment in tagComments) {
DomRegion tagRegion = new DomRegion(tagComment.StartPosition.Y, tagComment.StartPosition.X);
ICSharpCode.SharpDevelop.Dom.Tag tag = new ICSharpCode.SharpDevelop.Dom.Tag(tagComment.Tag, tagRegion);
ICSharpCode.SharpDevelop.Dom.TagComment tag = new ICSharpCode.SharpDevelop.Dom.TagComment(tagComment.Tag, tagRegion);
tag.CommentString = tagComment.CommentText;
cu.TagComments.Add(tag);
}
@ -118,7 +118,7 @@ namespace CSharpBinding.Parser @@ -118,7 +118,7 @@ namespace CSharpBinding.Parser
public IResolver CreateResolver()
{
return new ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryResolver(ICSharpCode.NRefactory.SupportedLanguage.CSharp);
return new ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryResolver(ParserService.CurrentProjectContent);
}
///////// IParser Interface END
}

5
src/AddIns/BackendBindings/ILAsmBinding/Project/ILAsmBinding.csproj

@ -68,6 +68,11 @@ @@ -68,6 +68,11 @@
<Content Include="Templates\ConsoleProject.xpt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

2
src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs

@ -65,7 +65,7 @@ namespace VBNetBinding @@ -65,7 +65,7 @@ namespace VBNetBinding
ModifierEnum.Public | ModifierEnum.Static,
DomRegion.Empty, DomRegion.Empty, c));
cu.Classes.Add(c);
pc.UpdateCompilationUnit(null, cu, cu.FileName, false);
pc.UpdateCompilationUnit(null, cu, cu.FileName);
}
static IClass CreateMyApplication(ICompilationUnit cu, IProject project, string ns)

8
src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/ProjectImports.cs

@ -9,14 +9,10 @@ using System; @@ -9,14 +9,10 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.XmlForms;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using VBNetBinding;
using ICSharpCode.SharpDevelop.Project;
namespace VBNetBinding.OptionPanels
{

6
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs

@ -48,7 +48,7 @@ namespace VBNetBinding.Parser @@ -48,7 +48,7 @@ namespace VBNetBinding.Parser
return Path.GetExtension(fileName).Equals(".VB", StringComparison.OrdinalIgnoreCase);
}
public bool CanParse(IProject project)
public bool CanParse(IDomProject project)
{
return project.Language == "VBNet";
}
@ -131,7 +131,7 @@ namespace VBNetBinding.Parser @@ -131,7 +131,7 @@ namespace VBNetBinding.Parser
foreach (ICSharpCode.NRefactory.Parser.TagComment tagComment in tagComments)
{
DomRegion tagRegion = new DomRegion(tagComment.StartPosition.Y, tagComment.StartPosition.X);
ICSharpCode.SharpDevelop.Dom.Tag tag = new ICSharpCode.SharpDevelop.Dom.Tag(tagComment.Tag, tagRegion);
ICSharpCode.SharpDevelop.Dom.TagComment tag = new ICSharpCode.SharpDevelop.Dom.TagComment(tagComment.Tag, tagRegion);
tag.CommentString = tagComment.CommentText;
cu.TagComments.Add(tag);
}
@ -139,7 +139,7 @@ namespace VBNetBinding.Parser @@ -139,7 +139,7 @@ namespace VBNetBinding.Parser
public IResolver CreateResolver()
{
return new ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryResolver(ICSharpCode.NRefactory.SupportedLanguage.VBNet);
return new ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryResolver(ParserService.CurrentProjectContent);
}
///////// IParser Interface END
}

2
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs

@ -73,7 +73,7 @@ namespace VBNetBinding @@ -73,7 +73,7 @@ namespace VBNetBinding
ParseProjectContent pc = base.CreateProjectContent();
ReferenceProjectItem vbRef = new ReferenceProjectItem(this, "Microsoft.VisualBasic");
if (vbRef != null) {
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(vbRef));
pc.ReferencedContents.Add(ParserService.GetProjectContentForReference(vbRef));
}
MyNamespaceBuilder.BuildNamespace(this, pc);
return pc;

17
src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs

@ -6,19 +6,16 @@ @@ -6,19 +6,16 @@
// </file>
using System;
using System.Collections;
using System.Collections.Generic;
using ICSharpCode.Core;
using ICSharpCode.TextEditor.Gui.CompletionWindow;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Parser;
using ICSharpCode.TextEditor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.TextEditor.Gui.CompletionWindow;
using VBTokens = ICSharpCode.NRefactory.Parser.VB.Tokens;
namespace VBNetBinding
@ -216,7 +213,7 @@ namespace VBNetBinding @@ -216,7 +213,7 @@ namespace VBNetBinding
editor.Document.TextContent);
if (rr != null && rr.ResolvedType != null) {
ClassFinder context = new ClassFinder(editor.FileName, editor.ActiveTextAreaControl.Caret.Line, t1.col);
if (ICSharpCode.SharpDevelop.Refactoring.CodeGenerator.CanUseShortTypeName(rr.ResolvedType, context))
if (CodeGenerator.CanUseShortTypeName(rr.ResolvedType, context))
VBNetAmbience.Instance.ConversionFlags = ConversionFlags.None;
else
VBNetAmbience.Instance.ConversionFlags = ConversionFlags.UseFullyQualifiedNames;

5
src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj

@ -92,6 +92,11 @@ @@ -92,6 +92,11 @@
<Private>False</Private>
</ProjectReference>
<Folder Include="Src\PrettyPrinter\Gui\" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

5
src/AddIns/BackendBindings/WixBinding/Project/WixBinding.csproj

@ -140,6 +140,11 @@ @@ -140,6 +140,11 @@
<Content Include="SetupDialogControlLibrary.sdcl">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<Import Project="PostBuildEvent.proj" />

5
src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj

@ -128,6 +128,11 @@ @@ -128,6 +128,11 @@
<Private>False</Private>
</ProjectReference>
<Content Include="PostBuildEvent.proj" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<Import Project="PostBuildEvent.proj" />

2
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs

@ -203,7 +203,7 @@ namespace ICSharpCode.FormsDesigner @@ -203,7 +203,7 @@ namespace ICSharpCode.FormsDesigner
if (selectionService != null) {
Control ctl = selectionService.PrimarySelection as Control;
if (ctl != null) {
ICSharpCode.SharpDevelop.Dom.HelpProvider.ShowHelp(ctl.GetType().FullName);
ICSharpCode.SharpDevelop.HelpProvider.ShowHelp(ctl.GetType().FullName);
}
}
}

24
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/AddComponentsDialog.cs

@ -18,6 +18,7 @@ using System.Reflection; @@ -18,6 +18,7 @@ using System.Reflection;
using System.Windows.Forms;
using MSjogren.GacTool.FusionNative;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui.XmlForms;
namespace ICSharpCode.FormsDesigner.Gui
@ -51,26 +52,9 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -51,26 +52,9 @@ namespace ICSharpCode.FormsDesigner.Gui
void PrintGACCache()
{
IApplicationContext applicationContext = null;
IAssemblyEnum assemblyEnum = null;
IAssemblyName assemblyName = null;
Fusion.CreateAssemblyEnum(out assemblyEnum, null, null, 2, 0);
while (assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, 0) == 0) {
uint nChars = 0;
assemblyName.GetDisplayName(null, ref nChars, 0);
StringBuilder sb = new StringBuilder((int)nChars);
assemblyName.GetDisplayName(sb, ref nChars, 0);
string[] info = sb.ToString().Split(',');
string name = info[0];
string version = info[1].Substring(info[1].LastIndexOf('=') + 1);
ListViewItem item = new ListViewItem(new string[] {name, version});
item.Tag = sb.ToString();
foreach (GacInterop.AssemblyListEntry asm in GacInterop.GetAssemblyList()) {
ListViewItem item = new ListViewItem(new string[] {asm.Name, asm.Version});
item.Tag = asm.FullName;
((ListView)ControlDictionary["gacListView"]).Items.Add(item);
}
}

6
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs

@ -48,7 +48,11 @@ namespace ICSharpCode.FormsDesigner.Gui @@ -48,7 +48,11 @@ namespace ICSharpCode.FormsDesigner.Gui
foreach (IProjectContent pc in ParserService.AllProjectContentsWithReferences) {
if (pc.Project == null) {
ReflectionProjectContent rpc = pc as ReflectionProjectContent;
if (rpc == null || rpc.IsGacAssembly)
if (rpc == null)
continue;
if (rpc.AssemblyFullName == typeof(object).Assembly.FullName)
continue;
if (FileUtility.IsBaseDirectory(GacInterop.GacRootPath, rpc.AssemblyLocation))
continue;
}
foreach (IClass c in pc.Classes) {

4
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/HelpService.cs

@ -72,7 +72,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -72,7 +72,7 @@ namespace ICSharpCode.FormsDesigner.Services
public void ShowHelpFromKeyword(string helpKeyword)
{
ICSharpCode.SharpDevelop.Dom.HelpProvider.ShowHelpByKeyword(helpKeyword);
ICSharpCode.SharpDevelop.HelpProvider.ShowHelpByKeyword(helpKeyword);
}
public void ShowGeneralHelp()
{
@ -80,7 +80,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -80,7 +80,7 @@ namespace ICSharpCode.FormsDesigner.Services
}
public void ShowHelp()
{
ICSharpCode.SharpDevelop.Dom.HelpProvider.ShowHelp(f1Keyword);
ICSharpCode.SharpDevelop.HelpProvider.ShowHelp(f1Keyword);
}
public void ShowHelpFromUrl(string helpURL)

2
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs

@ -47,7 +47,7 @@ namespace ICSharpCode.FormsDesigner.Services @@ -47,7 +47,7 @@ namespace ICSharpCode.FormsDesigner.Services
// ToArray to prevent an exception if the collection changes.
foreach (Assembly asm in TypeResolutionService.DesignerAssemblies.ToArray()) {
if (excludeGlobalTypes) {
if (FileUtility.IsBaseDirectory(ReflectionProjectContent.GacRootPath, asm.Location)) {
if (FileUtility.IsBaseDirectory(GacInterop.GacRootPath, asm.Location)) {
continue;
}
}

13
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs

@ -114,18 +114,23 @@ namespace ICSharpCode.FormsDesigner.Services @@ -114,18 +114,23 @@ namespace ICSharpCode.FormsDesigner.Services
if (rpc is ParseProjectContent) {
LoadAssembly(rpc);
} else if (rpc is ReflectionProjectContent) {
if (!(rpc as ReflectionProjectContent).IsGacAssembly)
ReflectionProjectContent rrpc = (ReflectionProjectContent)rpc;
if (rrpc.AssemblyFullName != typeof(object).FullName
&& !FileUtility.IsBaseDirectory(GacInterop.GacRootPath, rrpc.AssemblyLocation))
{
LoadAssembly(rpc);
}
}
}
if (pc.Project != null) {
return LoadAssembly(pc.Project.OutputAssemblyFullPath);
} else if (pc is ReflectionProjectContent) {
if ((pc as ReflectionProjectContent).IsGacAssembly)
return LoadAssembly(new AssemblyName((pc as ReflectionProjectContent).AssemblyFullName), false);
ReflectionProjectContent rpc = (ReflectionProjectContent)pc;
if (FileUtility.IsBaseDirectory(GacInterop.GacRootPath, rpc.AssemblyLocation))
return LoadAssembly(new AssemblyName(rpc.AssemblyFullName), false);
else
return LoadAssembly((pc as ReflectionProjectContent).AssemblyLocation);
return LoadAssembly(rpc.AssemblyLocation);
} else {
return null;
}

26
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/ToolboxProvider.cs

@ -6,34 +6,16 @@ @@ -6,34 +6,16 @@
// </file>
using System;
using System.IO;
using System.Collections;
using System.Drawing;
using System.Drawing.Design;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Forms.Design;
using System.Drawing.Printing;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Xml;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Internal.Undo;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Services;
using ICSharpCode.FormsDesigner.Gui;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.FormsDesigner
{

2
src/AddIns/DisplayBindings/XmlEditor/Project/Src/Parser.cs

@ -61,7 +61,7 @@ namespace ICSharpCode.XmlEditor @@ -61,7 +61,7 @@ namespace ICSharpCode.XmlEditor
return compilationUnit;
}
public bool CanParse(IProject project)
public bool CanParse(IDomProject project)
{
return false;
}

2
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlEditorControl.cs

@ -171,7 +171,7 @@ namespace ICSharpCode.XmlEditor @@ -171,7 +171,7 @@ namespace ICSharpCode.XmlEditor
bool IsCodeCompletionEnabled {
get {
return ICSharpCode.SharpDevelop.Dom.CodeCompletionOptions.EnableCodeCompletion;
return ICSharpCode.SharpDevelop.CodeCompletionOptions.EnableCodeCompletion;
}
}

23
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs

@ -5,12 +5,6 @@ @@ -5,12 +5,6 @@
// <version>$Revision$</version>
// </file>
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using System;
using System.Drawing;
using System.Drawing.Printing;
@ -22,6 +16,13 @@ using System.Xml.Schema; @@ -22,6 +16,13 @@ using System.Xml.Schema;
using System.Xml.XPath;
using System.Xml.Xsl;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
namespace ICSharpCode.XmlEditor
{
/// <summary>
@ -39,8 +40,6 @@ namespace ICSharpCode.XmlEditor @@ -39,8 +40,6 @@ namespace ICSharpCode.XmlEditor
/// </summary>
public static readonly string CategoryName = "XML";
delegate void RefreshDelegate(AbstractMargin margin);
XmlEditorControl xmlEditor = new XmlEditorControl();
FileSystemWatcher watcher;
bool wasChangedExternally;
@ -280,13 +279,13 @@ namespace ICSharpCode.XmlEditor @@ -280,13 +279,13 @@ namespace ICSharpCode.XmlEditor
public string Text {
get {
if (WorkbenchSingleton.InvokeRequired)
return (string)WorkbenchSingleton.SafeThreadCall(this, "GetText", null);
return WorkbenchSingleton.SafeThreadFunction<string>(GetText);
else
return GetText();
}
set {
if (WorkbenchSingleton.InvokeRequired)
WorkbenchSingleton.SafeThreadCall(this, "SetText", value);
WorkbenchSingleton.SafeThreadCall(SetText, value);
else
SetText(value);
}
@ -406,7 +405,7 @@ namespace ICSharpCode.XmlEditor @@ -406,7 +405,7 @@ namespace ICSharpCode.XmlEditor
public void ParseInformationUpdated(ParseInformation parseInfo)
{
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)UpdateFolding);
WorkbenchSingleton.SafeThreadAsyncCall(UpdateFolding);
}
#endregion
@ -522,7 +521,7 @@ namespace ICSharpCode.XmlEditor @@ -522,7 +521,7 @@ namespace ICSharpCode.XmlEditor
/// </summary>
void RefreshMargin()
{
WorkbenchSingleton.SafeThreadAsyncCall((RefreshDelegate)xmlEditor.ActiveTextAreaControl.TextArea.Refresh,
WorkbenchSingleton.SafeThreadAsyncCall(xmlEditor.ActiveTextAreaControl.TextArea.Refresh,
xmlEditor.ActiveTextAreaControl.TextArea.FoldMargin);
}

5
src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj

@ -124,6 +124,11 @@ @@ -124,6 +124,11 @@
<Name>ICSharpCode.TextEditor</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

5
src/AddIns/Misc/CodeAnalysis/CodeAnalysis.csproj

@ -84,6 +84,11 @@ @@ -84,6 +84,11 @@
<Project>{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}</Project>
<Name>NRefactory</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

7
src/AddIns/Misc/CodeAnalysis/Src/FxCopLogger.cs

@ -10,6 +10,7 @@ using System.IO; @@ -10,6 +10,7 @@ using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
using Microsoft.Build.Framework;
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.CodeAnalysis
{
@ -94,9 +95,9 @@ namespace ICSharpCode.CodeAnalysis @@ -94,9 +95,9 @@ namespace ICSharpCode.CodeAnalysis
if (file.StartsWith("positionof#")) {
string memberName = file.Substring(11);
file = "";
Position pos = pc.GetPosition(memberName);
if (pos != null && pos.Cu != null) {
err.FileName = pos.Cu.FileName ?? "";
FilePosition pos = pc.GetPosition(memberName);
if (pos.IsEmpty == false && pos.CompilationUnit != null) {
err.FileName = pos.FileName ?? "";
err.Line = pos.Line;
err.Column = pos.Column;
} else {

14
src/AddIns/Misc/CodeAnalysis/Src/SuppressMessageCommand.cs

@ -13,8 +13,8 @@ using ICSharpCode.Core; @@ -13,8 +13,8 @@ using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.TextEditor.Document;
using Ast = ICSharpCode.NRefactory.Ast;
namespace ICSharpCode.CodeAnalysis
@ -31,19 +31,19 @@ namespace ICSharpCode.CodeAnalysis @@ -31,19 +31,19 @@ namespace ICSharpCode.CodeAnalysis
CodeGenerator codegen = tag.ProjectContent.Language.CodeGenerator;
if (codegen == null)
continue;
Position p = tag.ProjectContent.GetPosition(tag.MemberName);
if (p == null || p.Cu == null || p.Cu.FileName == null || p.Line <= 0)
FilePosition p = tag.ProjectContent.GetPosition(tag.MemberName);
if (p.CompilationUnit == null || p.FileName == null || p.Line <= 0)
continue;
IWorkbenchWindow window = FileService.OpenFile(p.Cu.FileName);
IWorkbenchWindow window = FileService.OpenFile(p.FileName);
if (window == null)
continue;
ITextEditorControlProvider provider = window.ViewContent as ITextEditorControlProvider;
if (provider == null)
continue;
IDocument document = provider.TextEditorControl.Document;
IDocument document = new TextEditorDocument(provider.TextEditorControl.Document);
if (p.Line >= document.TotalNumberOfLines)
continue;
LineSegment line = document.GetLineSegment(p.Line - 1);
IDocumentLine line = document.GetLine(p.Line);
StringBuilder indentation = new StringBuilder();
for (int i = line.Offset; i < document.TextLength; i++) {
char c = document.GetCharAt(i);
@ -52,7 +52,7 @@ namespace ICSharpCode.CodeAnalysis @@ -52,7 +52,7 @@ namespace ICSharpCode.CodeAnalysis
else
break;
}
string code = codegen.GenerateCode(CreateSuppressAttribute(p.Cu, tag), indentation.ToString());
string code = codegen.GenerateCode(CreateSuppressAttribute(p.CompilationUnit, tag), indentation.ToString());
if (!code.EndsWith("\n")) code += Environment.NewLine;
document.Insert(line.Offset, code);
provider.TextEditorControl.ActiveTextAreaControl.Caret.Line = p.Line - 1;

5
src/AddIns/Misc/CodeCoverage/Project/CodeCoverage.csproj

@ -106,6 +106,11 @@ @@ -106,6 +106,11 @@
<Name>UnitTesting</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<Import Project="PostBuildEvent.proj" />

6
src/AddIns/Misc/CodeCoverage/Project/Src/RunTestWithCodeCoverageCommand.cs

@ -163,12 +163,12 @@ namespace ICSharpCode.CodeCoverage @@ -163,12 +163,12 @@ namespace ICSharpCode.CodeCoverage
{
if (!File.Exists(fileName)) {
Task task = new Task(String.Empty, String.Concat(StringParser.Parse("${res:ICSharpCode.CodeCoverage.NoCodeCoverageResultsGenerated}"), " ", fileName), 0, 0, TaskType.Error);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "Add", new object[] {task});
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
return;
}
CodeCoverageResults results = new CodeCoverageResults(fileName);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(CodeCoverageService), "ShowResults", new object[] {results});
WorkbenchSingleton.SafeThreadAsyncCall(CodeCoverageService.ShowResults, results);
}
/// <summary>
@ -203,7 +203,7 @@ namespace ICSharpCode.CodeCoverage @@ -203,7 +203,7 @@ namespace ICSharpCode.CodeCoverage
{
PadDescriptor padDescriptor = WorkbenchSingleton.Workbench.GetPad(typeof(ErrorListPad));
if (padDescriptor != null) {
WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor, "BringPadToFront");
WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor.BringPadToFront);
}
}

5
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj

@ -105,6 +105,11 @@ @@ -105,6 +105,11 @@
<Private>False</Private>
</ProjectReference>
<Content Include="PostBuildEvent.proj" />
<ProjectReference Include="..\..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<Import Project="PostBuildEvent.proj" />

5
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj

@ -124,6 +124,11 @@ @@ -124,6 +124,11 @@
<Name>ICSharpCode.TextEditor</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

4
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs

@ -187,7 +187,7 @@ namespace HtmlHelp2 @@ -187,7 +187,7 @@ namespace HtmlHelp2
this.AddToStringCollection(0, types.ResolvedClass.FullyQualifiedName);
}
WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
WorkbenchSingleton.SafeThreadAsyncCall(BuildDynamicHelpList);
}
private ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e)
@ -246,7 +246,7 @@ namespace HtmlHelp2 @@ -246,7 +246,7 @@ namespace HtmlHelp2
}
this.AddToStringCollection(myObject.FullName);
WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
WorkbenchSingleton.SafeThreadAsyncCall(BuildDynamicHelpList);
}
#endregion

5
src/AddIns/Misc/MonoAddIn/Project/MonoAddIn.csproj

@ -79,6 +79,11 @@ @@ -79,6 +79,11 @@
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

5
src/AddIns/Misc/MonoReflectionLoader/Project/MonoReflectionLoader.csproj

@ -61,6 +61,11 @@ @@ -61,6 +61,11 @@
<Private>False</Private>
<SpecificVersion>False</SpecificVersion>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

5
src/AddIns/Misc/NAntAddIn/Project/NAntAddIn.csproj

@ -91,6 +91,11 @@ @@ -91,6 +91,11 @@
<Folder Include="Src\Gui\" />
<Folder Include="Src\Commands\" />
<Folder Include="Resources" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

1
src/AddIns/Misc/NAntAddIn/Project/Src/AddInOptions.cs

@ -7,7 +7,6 @@ @@ -7,7 +7,6 @@
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using System;
using System.Diagnostics;
using System.IO;

4
src/AddIns/Misc/NAntAddIn/Project/Src/Commands/AbstractRunNAntCommand.cs

@ -286,7 +286,7 @@ namespace ICSharpCode.NAntAddIn.Commands @@ -286,7 +286,7 @@ namespace ICSharpCode.NAntAddIn.Commands
// Update task list.
TaskCollection tasks = NAntOutputParser.Parse(outputText);
foreach (Task task in tasks) {
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "Add", new object[] {task});
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
}
// Bring task list to front.
@ -294,7 +294,7 @@ namespace ICSharpCode.NAntAddIn.Commands @@ -294,7 +294,7 @@ namespace ICSharpCode.NAntAddIn.Commands
IWorkbench workbench = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench;
PadDescriptor padDescriptor = workbench.GetPad(typeof(ErrorListPad));
if (padDescriptor != null) {
WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor, "BringPadToFront");
WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor.BringPadToFront);
}
}
}

2
src/AddIns/Misc/NAntAddIn/Project/Src/Gui/NAntPadContent.cs

@ -266,7 +266,7 @@ namespace ICSharpCode.NAntAddIn.Gui @@ -266,7 +266,7 @@ namespace ICSharpCode.NAntAddIn.Gui
void NAntExited(object sender, NAntExitEventArgs e)
{
WorkbenchSingleton.SafeThreadAsyncCall(this, "UpdateToolbar");
WorkbenchSingleton.SafeThreadAsyncCall(UpdateToolbar);
}
}
}

2
src/AddIns/Misc/SharpDbTools/Project/SharpDbTools.csproj

@ -78,4 +78,4 @@ @@ -78,4 +78,4 @@
<Folder Include="Src\Viewer" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>
</Project>

2
src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs

@ -202,7 +202,7 @@ namespace ICSharpCode.StartPage @@ -202,7 +202,7 @@ namespace ICSharpCode.StartPage
PopulateLeftMenu();
LeftMenuSelectedItem = "";
VersionText = "version " + RevisionClass.Version;
VersionText = "version " + RevisionClass.FullVersion;
VersionStatus = "";
RightBoxHtml = "";

2
src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/ProjectBrowserCommands.cs

@ -44,7 +44,7 @@ namespace ICSharpCode.Svn.Commands @@ -44,7 +44,7 @@ namespace ICSharpCode.Svn.Commands
protected void Callback()
{
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)CallbackInvoked);
WorkbenchSingleton.SafeThreadAsyncCall(CallbackInvoked);
}
void CallbackInvoked()

2
src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/DiffPanel.cs

@ -76,7 +76,7 @@ namespace ICSharpCode.Svn @@ -76,7 +76,7 @@ namespace ICSharpCode.Svn
outStream,
errStream);
output = Encoding.Default.GetString(outStream.ToArray());
WorkbenchSingleton.SafeThreadCall(this, "SetOutput");
WorkbenchSingleton.SafeThreadCall(SetOutput);
}
void SetOutput()

25
src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryView.cs

@ -6,33 +6,8 @@ @@ -6,33 +6,8 @@
// </file>
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.Collections;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Design;
using System.Reflection;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Xml;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Internal.Undo;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
namespace ICSharpCode.Svn
{

26
src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryViewDisplayBinding.cs

@ -6,34 +6,8 @@ @@ -6,34 +6,8 @@
// </file>
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.Collections;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Design;
using System.Reflection;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Xml;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Internal.Undo;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using NSvn.Common;
using NSvn.Core;
namespace ICSharpCode.Svn

6
src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/HistoryViewPanel.cs

@ -91,7 +91,7 @@ namespace ICSharpCode.Svn @@ -91,7 +91,7 @@ namespace ICSharpCode.Svn
// if exceptions aren't caught here, they force SD to exit
if (ex is SvnClientException || ex is System.Runtime.InteropServices.SEHException) {
LoggingService.Warn(ex);
WorkbenchSingleton.SafeThreadAsyncCall(infoPanel, "ShowError", ex);
WorkbenchSingleton.SafeThreadAsyncCall(infoPanel.ShowError, ex);
} else {
MessageService.ShowError(ex);
}
@ -100,8 +100,8 @@ namespace ICSharpCode.Svn @@ -100,8 +100,8 @@ namespace ICSharpCode.Svn
void ReceiveLogMessage(LogMessage logMessage)
{
WorkbenchSingleton.SafeThreadAsyncCall(infoPanel, "AddLogMessage", logMessage);
WorkbenchSingleton.SafeThreadAsyncCall(diffPanel, "AddLogMessage", logMessage);
WorkbenchSingleton.SafeThreadAsyncCall(infoPanel.AddLogMessage, logMessage);
WorkbenchSingleton.SafeThreadAsyncCall(diffPanel.AddLogMessage, logMessage);
}
}
}

4
src/AddIns/Misc/SubversionAddIn/Project/Src/Gui/HistoryViewDisplayBinding/InfoPanel.cs

@ -165,7 +165,7 @@ namespace ICSharpCode.Svn @@ -165,7 +165,7 @@ namespace ICSharpCode.Svn
}
loadChangedPathsItem = null;
isLoadingChangedPaths = false;
WorkbenchSingleton.SafeThreadAsyncCall(this, "RevisionListViewSelectionChanged", null, null);
WorkbenchSingleton.SafeThreadAsyncCall<object, EventArgs>(this.RevisionListViewSelectionChanged, null, EventArgs.Empty);
} catch (Exception ex) {
MessageService.ShowError(ex);
}
@ -178,7 +178,7 @@ namespace ICSharpCode.Svn @@ -178,7 +178,7 @@ namespace ICSharpCode.Svn
void ReceiveAllChangedPaths(LogMessage logMessage)
{
WorkbenchSingleton.SafeThreadAsyncCall(this, "ReceiveAllChangedPathsInvoked", logMessage);
WorkbenchSingleton.SafeThreadAsyncCall(this.ReceiveAllChangedPathsInvoked, logMessage);
}
void ReceiveAllChangedPathsInvoked(LogMessage logMessage)

4
src/AddIns/Misc/SubversionAddIn/Project/Src/SvnClient.cs

@ -199,11 +199,11 @@ namespace ICSharpCode.Svn @@ -199,11 +199,11 @@ namespace ICSharpCode.Svn
if (done) {
return;
}
WorkbenchSingleton.SafeThreadCall(this, "WriteMid", "Done");
WorkbenchSingleton.SafeThreadCall(WriteMid, "Done");
try {
if (inOperationForm != null) {
inOperationForm.Operation = null;
WorkbenchSingleton.SafeThreadCall(inOperationForm, "Close");
WorkbenchSingleton.SafeThreadCall(inOperationForm.Close);
inOperationForm = null;
}
} catch (Exception e) {

5
src/AddIns/Misc/SubversionAddIn/Project/SubversionAddIn.csproj

@ -132,6 +132,11 @@ @@ -132,6 +132,11 @@
<Link>LibDB42.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

8
src/AddIns/Misc/UnitTesting/Src/PadContent.cs

@ -52,7 +52,7 @@ namespace ICSharpCode.UnitTesting @@ -52,7 +52,7 @@ namespace ICSharpCode.UnitTesting
treeView.RunStarted += ThreadedUpdateToolbar;
treeView.RunFinished += ThreadedUpdateToolbar;
treeView.RunFinished += delegate {
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)ShowErrorList);
WorkbenchSingleton.SafeThreadAsyncCall(ShowErrorList);
};
ctl.Controls.Add(treeView);
@ -123,7 +123,7 @@ namespace ICSharpCode.UnitTesting @@ -123,7 +123,7 @@ namespace ICSharpCode.UnitTesting
/// <summary>
/// Loads the assemblies if they are not already loaded.
/// </summary>
public void LoadAssemblyList(MethodInvoker callback)
public void LoadAssemblyList(Action callback)
{
if (autoLoadItems) {
if (callback != null)
@ -133,7 +133,7 @@ namespace ICSharpCode.UnitTesting @@ -133,7 +133,7 @@ namespace ICSharpCode.UnitTesting
}
}
public void ReloadAssemblyList(MethodInvoker callback)
public void ReloadAssemblyList(Action callback)
{
autoLoadItems = true;
treeView.UnloadTestAssemblies();
@ -192,7 +192,7 @@ namespace ICSharpCode.UnitTesting @@ -192,7 +192,7 @@ namespace ICSharpCode.UnitTesting
void ThreadedUpdateToolbar(object sender, EventArgs e)
{
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)UpdateToolbar);
WorkbenchSingleton.SafeThreadAsyncCall(UpdateToolbar);
}
void UpdateToolbar()

8
src/AddIns/Misc/UnitTesting/Src/TestTreeView.cs

@ -79,10 +79,10 @@ namespace ICSharpCode.UnitTesting @@ -79,10 +79,10 @@ namespace ICSharpCode.UnitTesting
}
};
loader.Events.TestLoaded += delegate(object sender, TestEventArgs e) {
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)UpdateProjectTitles);
WorkbenchSingleton.SafeThreadAsyncCall(UpdateProjectTitles);
};
loader.Events.RunStarting += delegate(object sender, TestEventArgs e) {
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)OnRunStarting);
WorkbenchSingleton.SafeThreadAsyncCall(OnRunStarting);
};
loader.Events.TestOutput += delegate(object sender, TestEventArgs e) {
// This method interceps StdOut/StdErr from the tests
@ -143,7 +143,7 @@ namespace ICSharpCode.UnitTesting @@ -143,7 +143,7 @@ namespace ICSharpCode.UnitTesting
{
Task task = CreateTask(type, message, fullTestName, stackTrace);
if (task != null) {
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "Add", task);
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
}
}
@ -342,7 +342,7 @@ namespace ICSharpCode.UnitTesting @@ -342,7 +342,7 @@ namespace ICSharpCode.UnitTesting
get {
IClass fixture = SelectedFixtureClass;
if (fixture != null)
return fixture.ProjectContent.Project;
return (IProject)fixture.ProjectContent.Project;
TreeNode node = SelectedNode;
if (node == null)
return null;

2
src/AddIns/Misc/UnitTesting/Src/TestableCondition.cs

@ -62,7 +62,7 @@ namespace ICSharpCode.UnitTesting @@ -62,7 +62,7 @@ namespace ICSharpCode.UnitTesting
}
IMember m = GetMember(caller);
IClass c = (m != null) ? m.DeclaringType : GetClass(caller);
return c.ProjectContent.Project;
return (ICSharpCode.SharpDevelop.Project.IProject)c.ProjectContent.Project;
}
public bool IsValid(object caller, Condition condition)

6
src/AddIns/Misc/UnitTesting/Src/UnitTestApplicationStartHelper.cs

@ -135,16 +135,16 @@ namespace ICSharpCode.UnitTesting @@ -135,16 +135,16 @@ namespace ICSharpCode.UnitTesting
if (!File.Exists(resultFile)) {
Task task = new Task("", "No NUnit results file generated: " + resultFile, 0, 0, TaskType.Error);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "Add", task);
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
return;
}
try {
NUnitResults results = new NUnitResults(resultFile);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "AddRange", results.Tasks);
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.AddRange, results.Tasks);
} catch (System.Xml.XmlException ex) {
Task task = new Task(resultFile, "Invalid NUnit results file: " + ex.Message, ex.LineNumber, ex.LinePosition, TaskType.Error);
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "Add", task);
WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
}
}
}

5
src/AddIns/Misc/UnitTesting/UnitTesting.csproj

@ -87,6 +87,11 @@ @@ -87,6 +87,11 @@
<Private>False</Private>
</ProjectReference>
<Folder Include="Configuration" />
<ProjectReference Include="..\..\..\Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

98
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -52,10 +52,6 @@ @@ -52,10 +52,6 @@
<Reference Include="System.XML" />
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="Microsoft.Build.Engine" />
<Reference Include="Mono.Cecil">
<HintPath>..\..\..\Libraries\Mono.Cecil\Mono.Cecil.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Src\Internal\ExternalTool\ExternalTool.cs" />
@ -88,28 +84,6 @@ @@ -88,28 +84,6 @@
<Compile Include="Src\Services\LanguageBinding\ILanguageBinding.cs" />
<Compile Include="Src\Internal\Templates\Project\ProjectCreateInformation.cs" />
<Compile Include="Src\Services\LanguageBinding\LanguageBindingService.cs" />
<Compile Include="Src\Dom\ICompilationUnit.cs" />
<Compile Include="Src\Dom\IClass.cs" />
<Compile Include="Src\Dom\Region.cs" />
<Compile Include="Src\Dom\IField.cs" />
<Compile Include="Src\Dom\IReturnType.cs" />
<Compile Include="Src\Dom\IProperty.cs" />
<Compile Include="Src\Dom\IEvent.cs" />
<Compile Include="Src\Dom\IComment.cs" />
<Compile Include="Src\Dom\IMethod.cs" />
<Compile Include="Src\Dom\ClassType.cs" />
<Compile Include="Src\Dom\Implementations\DefaultClass.cs" />
<Compile Include="Src\Dom\Implementations\DefaultProperty.cs" />
<Compile Include="Src\Dom\Implementations\DefaultField.cs" />
<Compile Include="Src\Dom\Implementations\DefaultEvent.cs" />
<Compile Include="Src\Dom\Implementations\DefaultComment.cs" />
<Compile Include="Src\Dom\Implementations\DefaultMethod.cs" />
<Compile Include="Src\Dom\IParameter.cs" />
<Compile Include="Src\Dom\Implementations\DefaultParameter.cs" />
<Compile Include="Src\Dom\IAttribute.cs" />
<Compile Include="Src\Dom\Implementations\DefaultAttribute.cs" />
<Compile Include="Src\Dom\Implementations\AbstractReturnType.cs" />
<Compile Include="Src\Dom\Implementations\DefaultCompilationUnit.cs" />
<Compile Include="Src\Services\ParserService\ParserService.cs" />
<Compile Include="Src\Services\DisplayBinding\DisplayBindingDoozer.cs" />
<Compile Include="Src\Internal\ConditionEvaluators\CombineOpenEvaluator.cs" />
@ -117,27 +91,10 @@ @@ -117,27 +91,10 @@
<Compile Include="Src\Services\Language\Language.cs" />
<Compile Include="Src\Services\DisplayBinding\DisplayBindingService.cs" />
<Compile Include="Src\Internal\ConditionEvaluators\ProjectActiveEvaluator.cs" />
<Compile Include="Src\Dom\IUsing.cs" />
<Compile Include="Src\Dom\ModifierEnum.cs" />
<Compile Include="Src\Dom\IDecoration.cs" />
<Compile Include="Src\Dom\ParameterModifiers.cs" />
<Compile Include="Src\Dom\Implementations\AbstractDecoration.cs" />
<Compile Include="Src\Dom\Implementations\DefaultUsing.cs" />
<Compile Include="Src\Dom\IParser.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionClass.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionField.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionProperty.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionMethod.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionParameter.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionEvent.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionReturnType.cs" />
<Compile Include="Src\Dom\Tag.cs" />
<Compile Include="Src\Services\AmbienceService\IAmbience.cs" />
<Compile Include="Src\Services\AmbienceService\NetAmbience.cs" />
<Compile Include="Src\Services\AmbienceService\AmbienceReflectionDecorator.cs" />
<Compile Include="Src\Services\AmbienceService\AbstractAmbience.cs" />
<Compile Include="Src\Services\ParserService\ParseInformation.cs" />
<Compile Include="Src\Services\ParserService\AssemblyInformation.cs" />
<Compile Include="Src\Services\AmbienceService\AmbienceService.cs" />
<Compile Include="Src\Services\AmbienceService\CodeDOMGeneratorUtility.cs" />
<Compile Include="Src\Internal\ConditionEvaluators\WindowOpenEvaluator.cs" />
@ -195,7 +152,6 @@ @@ -195,7 +152,6 @@
</Compile>
<Compile Include="Src\Gui\Dialogs\DirtyFilesDialog.cs" />
<Compile Include="Src\Gui\Dialogs\FolderDialog.cs" />
<Compile Include="Src\Gui\Dialogs\ReferenceDialog\FusionNative.cs" />
<Compile Include="Src\Gui\Dialogs\NewFileDialog.cs">
<SubType>Form</SubType>
</Compile>
@ -290,9 +246,6 @@ @@ -290,9 +246,6 @@
<Compile Include="Src\Gui\ContentInterfaces\IParsableContent.cs" />
<Compile Include="Src\Gui\ContentInterfaces\ICustomizedCommands.cs" />
<Compile Include="Src\Commands\VBConverter\ConvertBuffer.cs" />
<Compile Include="Src\Dom\Implementations\AbstractNamedEntity.cs" />
<Compile Include="Src\Dom\Implementations\AbstractMember.cs" />
<Compile Include="Src\Dom\IMember.cs" />
<Compile Include="Src\Gui\Components\LocalizedPropertyGrid\LocalizedObject.cs" />
<Compile Include="Src\Gui\Components\LocalizedPropertyGrid\LocalizedPropertyDescriptor.cs" />
<Compile Include="Src\Gui\Components\LocalizedPropertyGrid\LocalizedPropertyAttribute.cs" />
@ -324,14 +277,12 @@ @@ -324,14 +277,12 @@
</Compile>
<Compile Include="Src\Internal\Templates\StandardHeaders.cs" />
<Compile Include="Src\Gui\Components\LocalizedPropertyGrid\LocalizedProperty.cs" />
<Compile Include="Src\Dom\IExpressionFinder.cs" />
<Compile Include="Src\Internal\ConditionEvaluators\IsProcessRunningEvaluator.cs" />
<Compile Include="Src\Internal\Doozers\PadDoozer.cs" />
<Compile Include="Src\Gui\Dialogs\InputBox.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Src\Gui\Pads\CompilerMessageView\MessageViewCategory.cs" />
<Compile Include="Src\Services\ParserService\Position.cs" />
<Compile Include="Src\Gui\Dialogs\OptionPanels\IDEOptions\TaskListOptions.cs">
<SubType>UserControl</SubType>
</Compile>
@ -351,10 +302,6 @@ @@ -351,10 +302,6 @@
</Compile>
<Compile Include="Src\Gui\Pads\CompilerMessageView\FileLineReference.cs" />
<Compile Include="Src\Gui\Pads\CompilerMessageView\OutputTextLineParser.cs" />
<Compile Include="Src\Dom\IResolver.cs" />
<Compile Include="Src\Dom\NRefactoryResolver\NRefactoryResolver.cs" />
<Compile Include="Src\Dom\NRefactoryResolver\TypeVisitor.cs" />
<Compile Include="Src\Dom\NRefactoryResolver\NRefactoryASTConvertVisitor.cs" />
<Compile Include="Src\Gui\Components\FontSelectionPanel.cs">
<SubType>UserControl</SubType>
</Compile>
@ -373,7 +320,6 @@ @@ -373,7 +320,6 @@
<Compile Include="Src\Services\ParserService\ParseInformationEventHandler.cs" />
<Compile Include="Src\Services\ProjectService\SolutionConfigurationEventHandler.cs" />
<Compile Include="Src\Services\ProjectService\ProjectConfigurationEventHandler.cs" />
<Compile Include="Src\Internal\DiffUtility.cs" />
<Compile Include="Src\Commands\DebugCommands.cs" />
<Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\AbstractProjectBrowserTreeNode.cs" />
<Compile Include="Src\Gui\Pads\ProjectBrowser\ProjectBrowserControl.cs">
@ -400,7 +346,6 @@ @@ -400,7 +346,6 @@
<Compile Include="Src\Gui\Pads\ProjectBrowser\Commands\ToolbarCommands.cs" />
<Compile Include="Src\Services\LanguageBinding\LanguageBindingDescriptor.cs" />
<Compile Include="Src\Services\DisplayBinding\DisplayBindingDescriptor.cs" />
<Compile Include="Src\Dom\FoldingRegion.cs" />
<Compile Include="Src\Services\ParserService\Doozer\ParserDoozer.cs" />
<Compile Include="Src\Services\ParserService\Doozer\ParserDescriptor.cs" />
<Compile Include="Src\Gui\XmlForms\Lib\IPropertyValueCreator.cs" />
@ -421,8 +366,6 @@ @@ -421,8 +366,6 @@
<Compile Include="Src\Gui\Pads\ErrorList\ErrorListPad.cs" />
<Compile Include="Src\Gui\Pads\ErrorList\ErrorListToolbarCommands.cs" />
<Compile Include="Src\Gui\Pads\CompilerMessageView\CompilerMessageViewToolbarCommands.cs" />
<Compile Include="Src\Services\ParserService\DefaultProjectContent.cs" />
<Compile Include="Src\Services\ParserService\IProjectContent.cs" />
<Compile Include="Src\Gui\Pads\ClassBrowser\ClassBrowser.cs" />
<Compile Include="Src\Gui\Pads\ClassBrowser\ClassBrowserToolbarCommands.cs" />
<Compile Include="Src\Gui\Pads\ClassBrowser\Nodes\ProjectNode.cs" />
@ -605,11 +548,7 @@ @@ -605,11 +548,7 @@
<Compile Include="Src\TextEditor\XmlFormattingStrategy.cs" />
<Compile Include="Src\Services\Tasks\TaskEventHandler.cs" />
<Compile Include="Src\Project\AbstractProject.cs" />
<Compile Include="Src\Dom\XmlDoc.cs" />
<Compile Include="Src\Services\ParserService\ProjectContentRegistry.cs" />
<Compile Include="Src\Dom\ResolveResult.cs" />
<Compile Include="Src\TextEditor\Commands\NavigationCommands.cs" />
<Compile Include="Src\Dom\FilePosition.cs" />
<Compile Include="Src\Project\MSBuildEngine.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CodeCompletionBinding.cs" />
<Compile Include="Src\Gui\Pads\DefinitionViewPad.cs" />
@ -639,15 +578,6 @@ @@ -639,15 +578,6 @@
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\BuildEvents.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Src\Dom\ITypeParameter.cs" />
<Compile Include="Src\Dom\Implementations\DefaultTypeParameter.cs" />
<Compile Include="Src\Dom\Implementations\ProxyReturnType.cs" />
<Compile Include="Src\Dom\Implementations\DefaultReturnType.cs" />
<Compile Include="Src\Dom\Implementations\GetClassReturnType.cs" />
<Compile Include="Src\Dom\Implementations\GenericReturnType.cs" />
<Compile Include="Src\Dom\Implementations\ArrayReturnType.cs" />
<Compile Include="Src\Dom\Implementations\ConstructedReturnType.cs" />
<Compile Include="Src\Dom\LanguageProperties.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\SchemeExtension.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\ExtendedWebBrowser.cs">
<SubType>Component</SubType>
@ -659,30 +589,22 @@ @@ -659,30 +589,22 @@
<Compile Include="Src\Services\RefactoringService\Reference.cs" />
<Compile Include="Src\Services\ProjectService\ParseableFileContentEnumerator.cs" />
<Compile Include="Src\Services\ParserService\ParseProjectContent.cs" />
<Compile Include="Src\Services\ParserService\ReflectionProjectContent.cs" />
<Compile Include="Src\Dom\Implementations\SearchClassReturnType.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\AbstractCompletionDataProvider.cs" />
<Compile Include="Src\Dom\ExpressionContext.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\CachedCompletionDataProvider.cs" />
<Compile Include="Src\Dom\Implementations\CompoundClass.cs" />
<Compile Include="Src\Project\Items\ImportProjectItem.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\AttributesDataProvider.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\CtrlSpaceCompletionDataProvider.cs" />
<Compile Include="Src\Dom\Implementations\CombinedReturnType.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\CompletionWindow\CodeCompletionDataUsageCache.cs" />
<EmbeddedResource Include="Resources\CodeCompletionOptionPanel.xfrm" />
<Compile Include="Src\TextEditor\Gui\OptionPanels\CodeCompletionPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Src\Dom\CodeCompletionOptions.cs" />
<Compile Include="Src\Services\Debugger\CurrentLineBookmark.cs" />
<Compile Include="Src\Dom\ClassFinder.cs" />
<Compile Include="Src\TextEditor\Commands\ClassBookmarkMenuBuilder.cs" />
<Compile Include="Src\TextEditor\SearchAndReplace\Engine\SearchStrategy\BoyerMooreSearchStrategy.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\BrowserCommands.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\BrowserLocationConditionEvaluator.cs" />
<Compile Include="Src\Services\Debugger\DebuggerDoozer.cs" />
<Compile Include="Src\Dom\HelpProvider.cs" />
<Compile Include="Src\Project\Solution\SolutionPreferences.cs" />
<Compile Include="Src\Project\ConfigurationGuiHelper.cs" />
<Compile Include="Src\Gui\ContentInterfaces\ICanBeDirty.cs" />
@ -701,7 +623,6 @@ @@ -701,7 +623,6 @@
<Compile Include="Src\Gui\Dialogs\OptionPanels\IDEOptions\FullscreenPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Src\Dom\MemberLookupHelper.cs" />
<Compile Include="Src\Gui\Components\AutoHide\AutoHideMenuStripContainer.cs" />
<Compile Include="Src\Gui\Components\AutoHide\AutoHideStatusStripContainer.cs" />
<Compile Include="Src\Gui\Components\AutoHide\AutoHideContainer.cs" />
@ -709,14 +630,8 @@ @@ -709,14 +630,8 @@
<Compile Include="Src\Services\RefactoringService\FindReferencesAndRenameHelper.cs" />
<Compile Include="Src\Internal\Doozers\DirectoryDoozer.cs" />
<Compile Include="Src\Gui\Components\StringListEditor.cs" />
<Compile Include="Src\Dom\Implementations\NullReturnType.cs" />
<Compile Include="Src\Dom\Implementations\AnonymousMethodReturnType.cs" />
<Compile Include="Src\Project\ConfigurationGuiBinding.cs" />
<Compile Include="Src\Project\ChooseStorageLocationButton.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionLoader.cs" />
<Compile Include="Src\Dom\ReflectionLayer\DomPersistence.cs" />
<Compile Include="Src\Services\RefactoringService\CodeGenerator.cs" />
<Compile Include="Src\Services\RefactoringService\NRefactoryCodeGenerator.cs" />
<Compile Include="Src\Gui\TreeGrid\CollectionWithEvents.cs" />
<Compile Include="Src\Gui\TreeGrid\DynamicList.cs" />
<Compile Include="Src\Gui\TreeGrid\DynamicListColumn.cs" />
@ -741,7 +656,6 @@ @@ -741,7 +656,6 @@
<Compile Include="Src\Gui\Pads\ProjectBrowser\TreeNodes\WebReferenceNode.cs" />
<Compile Include="Src\Gui\Dialogs\ReferenceDialog\WebReferenceChanges.cs" />
<Compile Include="Src\TextEditor\Commands\CodeGenerators\CodeGenerationForm.cs" />
<Compile Include="Src\Dom\NRefactoryResolver\NRefactoryInformationProvider.cs" />
<Compile Include="Src\Project\Converter\LanguageConverter.cs" />
<Compile Include="Src\Gui\Dialogs\TemplateCategoryComparer.cs" />
<Compile Include="Src\Internal\Templates\TemplateCategorySortOrderFile.cs" />
@ -768,14 +682,10 @@ @@ -768,14 +682,10 @@
<Compile Include="Src\Gui\Pads\ClassBrowser\NodeBuilder\IClassNodeBuilder.cs" />
<Compile Include="Src\Gui\Pads\ClassBrowser\NodeBuilder\IProjectNodeBuilder.cs" />
<Compile Include="Src\TextEditor\SearchAndReplace\Engine\TextSelection.cs" />
<Compile Include="Src\Services\RefactoringService\RefactoringProvider.cs" />
<Compile Include="Src\Services\RefactoringService\NRefactoryRefactoringProvider.cs" />
<Compile Include="Src\Services\RefactoringService\NamespaceRefactoringService.cs" />
<Compile Include="Src\Services\RefactoringService\RefactorMenu.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\AdvancedHighlightingStrategy.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\AdvancedHighlighter.cs" />
<Compile Include="Src\Dom\Implementations\SystemTypes.cs" />
<Compile Include="Src\Dom\CecilReader.cs" />
<Compile Include="Src\Services\NavigationService\DefaultNavigationPoint.cs" />
<Compile Include="Src\TextEditor\Gui\Editor\ITextAreaToolTipProvider.cs" />
<Compile Include="Src\Services\NavigationService\INavigationPoint.cs" />
@ -786,6 +696,10 @@ @@ -786,6 +696,10 @@
<Compile Include="Src\Project\BuildResults.cs" />
<Compile Include="Src\Project\BuildError.cs" />
<Compile Include="Src\Project\MSBuildAdditionalLogger.cs" />
<Compile Include="Src\Services\HelpProvider.cs" />
<Compile Include="Src\Services\ParserService\CodeCompletionOptions.cs" />
<Compile Include="Src\Services\RefactoringService\TextEditorDocument.cs" />
<Compile Include="Src\Services\ParserService\DomHostCallback.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj">
@ -813,6 +727,10 @@ @@ -813,6 +727,10 @@
<Folder Include="Src\Util" />
<Folder Include="Src\Gui\Pads\ClassBrowser\NodeBuilder" />
<Folder Include="Src\Services\NavigationService" />
<ProjectReference Include="..\..\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj">
<Project>{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}</Project>
<Name>ICSharpCode.SharpDevelop.Dom</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project>

71
src/Main/Base/Project/Src/Dom/FilePosition.cs

@ -1,71 +0,0 @@ @@ -1,71 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Drawing;
namespace ICSharpCode.SharpDevelop.Dom
{
/// <summary>
/// Description of SearchDefinition.
/// </summary>
public class FilePosition
{
string filename;
Point position;
public FilePosition(string filename, Point position)
{
this.filename = filename;
this.position = position;
}
public string Filename {
get {
return filename;
}
}
public Point Position {
get {
return position;
}
}
public override string ToString()
{
return String.Format("{0} : (line {1}, col {2})",
filename,
Line,
Column);
}
public int Line {
get {
return position.X;
}
}
public int Column {
get {
return position.X;
}
}
public override bool Equals(object obj)
{
FilePosition b = obj as FilePosition;
if (b == null) return false;
return this.Filename == b.Filename && this.Position == b.Position;
}
public override int GetHashCode()
{
return filename.GetHashCode() ^ position.GetHashCode();
}
}
}

23
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs

@ -11,7 +11,7 @@ using System.Drawing; @@ -11,7 +11,7 @@ using System.Drawing;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using MSjogren.GacTool.FusionNative;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.Core;
@ -145,25 +145,10 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -145,25 +145,10 @@ namespace ICSharpCode.SharpDevelop.Gui
protected virtual List<ListViewItem> GetCacheContent()
{
IApplicationContext applicationContext = null;
IAssemblyEnum assemblyEnum = null;
IAssemblyName assemblyName = null;
List<ListViewItem> itemList = new List<ListViewItem>();
Fusion.CreateAssemblyEnum(out assemblyEnum, null, null, 2, 0);
while (assemblyEnum.GetNextAssembly(out applicationContext, out assemblyName, 0) == 0) {
uint nChars = 0;
assemblyName.GetDisplayName(null, ref nChars, 0);
StringBuilder sb = new StringBuilder((int)nChars);
assemblyName.GetDisplayName(sb, ref nChars, 0);
string[] info = sb.ToString().Split(',');
string aName = info[0];
string aVersion = info[1].Substring(info[1].LastIndexOf('=') + 1);
ListViewItem item = new ListViewItem(new string[] {aName, aVersion});
item.Tag = sb.ToString();
foreach (GacInterop.AssemblyListEntry asm in GacInterop.GetAssemblyList()) {
ListViewItem item = new ListViewItem(new string[] {asm.Name, asm.Version});
item.Tag = asm.FullName;
itemList.Add(item);
}
return itemList;

2
src/Main/Base/Project/Src/Gui/Dialogs/SharpDevelopAboutPanels.cs

@ -29,7 +29,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -29,7 +29,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public AboutSharpDevelopTabPage()
{
versionTextBox.Text = RevisionClass.Version;
versionTextBox.Text = RevisionClass.Major + "." + RevisionClass.Minor + "." + RevisionClass.Build;
buildTextBox.Text = RevisionClass.Revision;
versionLabel.Location = new System.Drawing.Point(8, 8);

4
src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs

@ -121,7 +121,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser @@ -121,7 +121,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser
foreach (TreeNode node in classBrowserTreeView.Nodes) {
AbstractProjectNode prjNode = node as AbstractProjectNode;
ICompilationUnit nonNullUnit = units[1] ?? units[0];
IProject project = nonNullUnit.ProjectContent.Project;
IProject project = (IProject)nonNullUnit.ProjectContent.Project;
if (prjNode != null && prjNode.Project.IsFileInProject(nonNullUnit.FileName)) {
prjNode.UpdateParseInformation(units[0], units[1]);
}
@ -136,7 +136,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser @@ -136,7 +136,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser
lock (pending) {
pending.Add(new ICompilationUnit[] { e.ParseInformation.BestCompilationUnit as ICompilationUnit, e.CompilationUnit});
}
WorkbenchSingleton.SafeThreadAsyncCall(new MethodInvoker(UpdateThread));
WorkbenchSingleton.SafeThreadAsyncCall(UpdateThread);
}
#region Navigation

2
src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/Nodes/ReferenceFolderNode.cs

@ -88,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser @@ -88,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser
{
isInitialized = true;
IProjectContent pc = ProjectContentRegistry.GetProjectContentForReference(item);
IProjectContent pc = ParserService.GetProjectContentForReference(item);
if (pc != null) {
Nodes.Clear();
foreach (IClass c in pc.Classes) {

15
src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs

@ -38,7 +38,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -38,7 +38,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public static CompilerMessageView Instance {
get {
if (instance == null)
WorkbenchSingleton.SafeThreadCall((MethodInvoker)InitializeInstance);
WorkbenchSingleton.SafeThreadCall(InitializeInstance);
return instance;
}
}
@ -183,7 +183,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -183,7 +183,8 @@ namespace ICSharpCode.SharpDevelop.Gui
void CategoryTextCleared(object sender, EventArgs e)
{
WorkbenchSingleton.SafeThreadAsyncCall(this, "ClearText", sender);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<MessageViewCategory>(ClearText),
(MessageViewCategory)sender);
}
void ClearText(MessageViewCategory category)
{
@ -195,7 +196,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -195,7 +196,8 @@ namespace ICSharpCode.SharpDevelop.Gui
void CategoryTextSet(object sender, TextEventArgs e)
{
WorkbenchSingleton.SafeThreadAsyncCall(this, "SetText", (MessageViewCategory)sender, e.Text);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<MessageViewCategory, string>(SetText),
(MessageViewCategory)sender, e.Text);
}
object appendCallLock = new object();
@ -205,10 +207,13 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -205,10 +207,13 @@ namespace ICSharpCode.SharpDevelop.Gui
{
lock (appendCallLock) {
pendingAppendCalls += 1;
MessageViewCategory cat = (MessageViewCategory)sender;
if (pendingAppendCalls < 5) {
WorkbenchSingleton.SafeThreadAsyncCall(this, "AppendText", sender, ((MessageViewCategory)sender).Text, e.Text);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<MessageViewCategory, string, string>(AppendText),
cat, cat.Text, e.Text);
} else if (pendingAppendCalls == 5) {
WorkbenchSingleton.SafeThreadAsyncCall(this, "AppendTextCombined", sender);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<MessageViewCategory>(AppendTextCombined),
cat);
}
}
}

10
src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs

@ -62,8 +62,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -62,8 +62,8 @@ namespace ICSharpCode.SharpDevelop.Gui
ResolveResult res = ResolveAtCaret(e);
if (res == null) return;
FilePosition pos = res.GetDefinitionPosition();
if (pos == null) return;
WorkbenchSingleton.SafeThreadAsyncCall(new OpenFileDelegate(OpenFile), pos);
if (pos.IsEmpty) return;
WorkbenchSingleton.SafeThreadAsyncCall(OpenFile, pos);
}
ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e)
@ -86,16 +86,14 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -86,16 +86,14 @@ namespace ICSharpCode.SharpDevelop.Gui
return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content);
}
delegate void OpenFileDelegate(FilePosition pos);
FilePosition oldPosition;
void OpenFile(FilePosition pos)
{
if (pos.Equals(oldPosition)) return;
oldPosition = pos;
if (pos.Filename != ctl.FileName)
ctl.LoadFile(pos.Filename, true, true); // TODO: get AutoDetectEncoding from settings
if (pos.FileName != ctl.FileName)
ctl.LoadFile(pos.FileName, true, true); // TODO: get AutoDetectEncoding from settings
ctl.ActiveTextAreaControl.ScrollTo(int.MaxValue); // scroll completely down
ctl.ActiveTextAreaControl.Caret.Line = pos.Line - 1;
ctl.ActiveTextAreaControl.ScrollToCaret(); // scroll up to search position

8
src/Main/Base/Project/Src/Gui/Pads/FileScout.cs

@ -257,7 +257,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -257,7 +257,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void fileDeleted(object sender, FileSystemEventArgs e)
{
MethodInvoker method = delegate {
Action method = delegate {
foreach(FileListItem fileItem in Items)
{
if(fileItem.FullName.Equals(e.FullPath, StringComparison.OrdinalIgnoreCase)) {
@ -271,7 +271,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -271,7 +271,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void fileChanged(object sender, FileSystemEventArgs e)
{
MethodInvoker method = delegate {
Action method = delegate {
foreach(FileListItem fileItem in Items)
{
if(fileItem.FullName.Equals(e.FullPath, StringComparison.OrdinalIgnoreCase)) {
@ -293,7 +293,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -293,7 +293,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void fileCreated(object sender, FileSystemEventArgs e)
{
MethodInvoker method = delegate {
Action method = delegate {
FileInfo info = new FileInfo(e.FullPath);
ListViewItem fileItem = Items.Add(new FileListItem(e.FullPath));
@ -309,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -309,7 +309,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void fileRenamed(object sender, RenamedEventArgs e)
{
MethodInvoker method = delegate {
Action method = delegate {
foreach(FileListItem fileItem in Items)
{
if(fileItem.FullName.Equals(e.OldFullPath, StringComparison.OrdinalIgnoreCase)) {

4
src/Main/Base/Project/Src/Gui/Pads/PropertyPad/PropertyPad.cs

@ -333,11 +333,11 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -333,11 +333,11 @@ namespace ICSharpCode.SharpDevelop.Gui
if (c != null) {
foreach (ICSharpCode.SharpDevelop.Dom.IProperty p in c.DefaultReturnType.GetProperties()) {
if (gridItem.PropertyDescriptor.Name == p.Name) {
ICSharpCode.SharpDevelop.Dom.HelpProvider.ShowHelp(p);
HelpProvider.ShowHelp(p);
return;
}
}
ICSharpCode.SharpDevelop.Dom.HelpProvider.ShowHelp(c);
HelpProvider.ShowHelp(c);
}
}
}

4
src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs

@ -204,9 +204,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -204,9 +204,9 @@ namespace ICSharpCode.SharpDevelop.Gui
} else {
m.Result = new IntPtr(RESULT_FILES_HANDLED);
try {
WorkbenchSingleton.SafeThreadAsyncCall((MethodInvoker)delegate { SetForegroundWindow(WorkbenchSingleton.MainForm.Handle) ; });
WorkbenchSingleton.SafeThreadAsyncCall(delegate { SetForegroundWindow(WorkbenchSingleton.MainForm.Handle) ; });
foreach (string file in File.ReadAllLines(Path.Combine(Path.GetTempPath(), "sd" + fileNumber + ".tmp"))) {
WorkbenchSingleton.SafeThreadAsyncCall(new Converter<string, IWorkbenchWindow>(FileService.OpenFile), new object[] { file });
WorkbenchSingleton.SafeThreadAsyncCall(delegate(string openFileName) { FileService.OpenFile(openFileName); }, file);
}
} catch (Exception ex) {
LoggingService.Warn(ex);

4
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceWindow.cs

@ -63,7 +63,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -63,7 +63,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (WorkbenchSingleton.InvokeRequired) {
// the window might have been disposed just here, invoke on the
// Workbench instead
selectedIndex = (int)WorkbenchSingleton.SafeThreadCall(this, "GetSelectedIndex");
selectedIndex = WorkbenchSingleton.SafeThreadFunction<int>(GetSelectedIndex);
} else {
selectedIndex = GetSelectedIndex();
}
@ -203,7 +203,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -203,7 +203,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void LoadSolutionProjectsThreadEndedEvent(object sender, EventArgs e)
{
// do not invoke on this: it's possible that "this" is disposed while this method is executing
WorkbenchSingleton.SafeThreadAsyncCall(new MethodInvoker(this.RefreshSecondaryViewContents));
WorkbenchSingleton.SafeThreadAsyncCall(this.RefreshSecondaryViewContents);
}
public IViewContent ViewContent {

74
src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs

@ -74,6 +74,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -74,6 +74,8 @@ namespace ICSharpCode.SharpDevelop.Gui
public static void InitializeWorkbench()
{
LayoutConfiguration.LoadLayoutConfiguration();
StatusBarService.Initialize();
DomHostCallback.Register(); // must be called after StatusBarService.Initialize()
workbench = new DefaultWorkbench();
MessageService.MainForm = workbench;
@ -198,9 +200,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -198,9 +200,9 @@ namespace ICSharpCode.SharpDevelop.Gui
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static object SafeThreadCall(object target, string methodName, params object[] arguments)
public static R SafeThreadFunction<R>(Func<R> method)
{
return caller.Call(target, methodName, arguments);
return (R)caller.Call(method, new object[0]);
}
/// <summary>
@ -208,25 +210,81 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -208,25 +210,81 @@ namespace ICSharpCode.SharpDevelop.Gui
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static object SafeThreadCall(Delegate method, params object[] arguments)
public static R SafeThreadFunction<A, R>(Func<A, R> method, A arg1)
{
return caller.Call(method, arguments);
return (R)caller.Call(method, new object[] { arg1 });
}
/// <summary>
/// Makes a call GUI threadsafe. WARNING: This method waits for the result of the
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static void SafeThreadCall(Action method)
{
caller.Call(method, new object[0]);
}
/// <summary>
/// Makes a call GUI threadsafe. WARNING: This method waits for the result of the
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static void SafeThreadCall<A>(Action<A> method, A arg1)
{
caller.Call(method, new object[] { arg1 });
}
/// <summary>
/// Makes a call GUI threadsafe. WARNING: This method waits for the result of the
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static void SafeThreadCall<A, B>(Action<A, B> method, A arg1, B arg2)
{
caller.Call(method, new object[] { arg1, arg2 });
}
/// <summary>
/// Makes a call GUI threadsafe. WARNING: This method waits for the result of the
/// operation, which can result in a dead-lock when the main thread waits for a lock
/// held by this thread!
/// </summary>
public static void SafeThreadCall<A, B, C>(Action<A, B, C> method, A arg1, B arg2, C arg3)
{
caller.Call(method, new object[] { arg1, arg2, arg3 });
}
/// <summary>
/// Makes a call GUI threadsafe without waiting for the returned value.
/// </summary>
public static void SafeThreadAsyncCall(Action method)
{
caller.BeginCall(method, new object[0]);
}
/// <summary>
/// Makes a call GUI threadsafe without waiting for the returned value.
/// </summary>
public static void SafeThreadAsyncCall<A>(Action<A> method, A arg1)
{
caller.BeginCall(method, new object[] { arg1 });
}
/// <summary>
/// Makes a call GUI threadsafe without waiting for the returned value.
/// </summary>
public static void SafeThreadAsyncCall(object target, string methodName, params object[] arguments)
public static void SafeThreadAsyncCall<A, B>(Action<A, B> method, A arg1, B arg2)
{
caller.BeginCall(target, methodName, arguments);
caller.BeginCall(method, new object[] { arg1, arg2 });
}
/// <summary>
/// Makes a call GUI threadsafe without waiting for the returned value.
/// </summary>
public static void SafeThreadAsyncCall(Delegate method, params object[] arguments)
public static void SafeThreadAsyncCall<A, B, C>(Action<A, B, C> method, A arg1, B arg2, C arg3)
{
caller.BeginCall(method, arguments);
caller.BeginCall(method, new object[] { arg1, arg2, arg3 });
}
#endregion

15
src/Main/Base/Project/Src/Project/IProject.cs

@ -24,7 +24,8 @@ namespace ICSharpCode.SharpDevelop.Project @@ -24,7 +24,8 @@ namespace ICSharpCode.SharpDevelop.Project
Module
}
public interface IProject : ISolutionFolder, IDisposable, IMementoCapable
public interface IProject : ISolutionFolder, IDisposable, IMementoCapable,
ICSharpCode.SharpDevelop.Dom.IDomProject
{
List<ProjectItem> Items {
get;
@ -44,9 +45,6 @@ namespace ICSharpCode.SharpDevelop.Project @@ -44,9 +45,6 @@ namespace ICSharpCode.SharpDevelop.Project
get;
set;
}
string Language {
get;
}
ICSharpCode.SharpDevelop.Dom.LanguageProperties LanguageProperties {
get;
@ -82,10 +80,6 @@ namespace ICSharpCode.SharpDevelop.Project @@ -82,10 +80,6 @@ namespace ICSharpCode.SharpDevelop.Project
get;
}
string OutputAssemblyFullPath {
get;
}
string IntermediateOutputFullPath {
get;
}
@ -95,11 +89,6 @@ namespace ICSharpCode.SharpDevelop.Project @@ -95,11 +89,6 @@ namespace ICSharpCode.SharpDevelop.Project
set;
}
string RootNamespace {
get;
set;
}
string AppDesignerFolder {
get;
set;

2
src/Main/Base/Project/Src/Project/Solution/Solution.cs

@ -319,7 +319,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -319,7 +319,7 @@ namespace ICSharpCode.SharpDevelop.Project
// we need to specify UTF8 because MsBuild needs the BOM
using (StreamWriter sw = new StreamWriter(fileName, false, Encoding.UTF8)) {
sw.WriteLine("Microsoft Visual Studio Solution File, Format Version 9.00");
sw.WriteLine("# SharpDevelop " + RevisionClass.Version + "." + RevisionClass.Revision);
sw.WriteLine("# SharpDevelop " + RevisionClass.FullVersion);
sw.Write(projectSection.ToString());
sw.Write(globalSection.ToString());

2
src/Main/Base/Project/Src/Services/AmbienceService/AmbienceReflectionDecorator.cs

@ -88,6 +88,7 @@ namespace ICSharpCode.Core @@ -88,6 +88,7 @@ namespace ICSharpCode.Core
this.conv = conv;
}
/*
public string Convert(Type type)
{
return conv.Convert(new ReflectionClass(null, type, type.FullName.Replace('+', '.'), null));
@ -117,6 +118,7 @@ namespace ICSharpCode.Core @@ -117,6 +118,7 @@ namespace ICSharpCode.Core
{
return conv.Convert(new ReflectionParameter(param, null));
}
*/
public ArrayList LinkArrayList {
get {

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

@ -12,6 +12,7 @@ using System.Collections.Generic; @@ -12,6 +12,7 @@ using System.Collections.Generic;
using System.IO;
using System.Text;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;

11
src/Main/Base/Project/Src/Services/Debugger/DefaultDebugger.cs

@ -12,7 +12,7 @@ using ICSharpCode.SharpDevelop.Gui; @@ -12,7 +12,7 @@ using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
using System.Diagnostics;
namespace ICSharpCode.Core
namespace ICSharpCode.Core
{
public class DefaultDebugger : IDebugger
{
@ -58,7 +58,8 @@ namespace ICSharpCode.Core @@ -58,7 +58,8 @@ namespace ICSharpCode.Core
attachedProcess.Exited -= new EventHandler(AttachedProcessExited);
attachedProcess.Dispose();
attachedProcess = null;
WorkbenchSingleton.SafeThreadAsyncCall(this, "OnDebugStopped", EventArgs.Empty);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<EventArgs>(OnDebugStopped),
EventArgs.Empty);
}
public void StartWithoutDebugging(ProcessStartInfo processStartInfo)
@ -135,7 +136,7 @@ namespace ICSharpCode.Core @@ -135,7 +136,7 @@ namespace ICSharpCode.Core
public event EventHandler DebugStarted;
protected virtual void OnDebugStarted(EventArgs e)
protected virtual void OnDebugStarted(EventArgs e)
{
if (DebugStarted != null) {
DebugStarted(this, e);
@ -155,14 +156,14 @@ namespace ICSharpCode.Core @@ -155,14 +156,14 @@ namespace ICSharpCode.Core
public event EventHandler DebugStopped;
protected virtual void OnDebugStopped(EventArgs e)
protected virtual void OnDebugStopped(EventArgs e)
{
if (DebugStopped != null) {
DebugStopped(this, e);
}
}
public void Dispose()
public void Dispose()
{
Stop();
}

3
src/Main/Base/Project/Src/Dom/HelpProvider.cs → src/Main/Base/Project/Src/Services/HelpProvider.cs

@ -8,8 +8,9 @@ @@ -8,8 +8,9 @@
using System;
using System.Collections;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.SharpDevelop.Dom
namespace ICSharpCode.SharpDevelop
{
public class HelpProvider
{

106
src/Main/Base/Project/Src/Services/ParserService/AssemblyInformation.cs

@ -1,106 +0,0 @@ @@ -1,106 +0,0 @@
//// <file>
//// <copyright see="prj:///doc/copyright.txt"/>
//// <license see="prj:///doc/license.txt"/>
//// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
//// <version value="$version"/>
//// </file>
//
//using System;
//using System.IO;
//using System.Collections;
//using System.Collections.Generic;
//using System.Threading;
//using System.Xml;
//using ICSharpCode.SharpDevelop.Dom;
//using System.Reflection;
//
//namespace ICSharpCode.Core {
//
// /// <summary>
// /// This class loads an assembly and converts all types from this assembly
// /// to a parser layer Class Collection.
// /// </summary>
// [Serializable]
// public class AssemblyInformation : MarshalByRefObject
// {
// List<IClass> classes = new List<IClass>();
//
// /// <value>
// /// A <code>ClassColection</code> that contains all loaded classes.
// /// </value>
// public List<IClass> Classes
// {
// get {
// return classes;
// }
// }
//
// public AssemblyInformation()
// {
// }
//
// string loadingPath = String.Empty;
//
// Assembly MyResolveEventHandler(object sender, ResolveEventArgs args)
// {
// string file = args.Name;
// int idx = file.IndexOf(',');
// if (idx >= 0) {
// file = file.Substring(0, idx);
// }
// try {
// if (File.Exists(loadingPath + file + ".exe")) {
// return Assembly.ReflectionOnlyLoadFrom(loadingPath + file + ".exe");
// }
// if (File.Exists(loadingPath + file + ".dll")) {
// return Assembly.ReflectionOnlyLoadFrom(loadingPath + file + ".dll");
// }
// } catch (Exception ex) {
// Console.WriteLine("Can't load assembly : " + ex.ToString());
// }
// return null;
// }
//
// public void Load(string fileName)
// {
// try {
// AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler);
// // read xml documentation for the assembly
// XmlDocument doc = null;
// Hashtable docuNodes = new Hashtable();
// string xmlDocFile = System.IO.Path.ChangeExtension(fileName, ".xml");
//
// string localizedXmlDocFile = System.IO.Path.GetDirectoryName(fileName) + System.IO.Path.DirectorySeparatorChar +
// Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName + System.IO.Path.DirectorySeparatorChar +
// System.IO.Path.ChangeExtension(System.IO.Path.GetFileName(fileName), ".xml");
// if (System.IO.File.Exists(localizedXmlDocFile)) {
// xmlDocFile = localizedXmlDocFile;
// }
// if (System.IO.File.Exists(xmlDocFile)) {
// doc = new XmlDocument();
// doc.Load(xmlDocFile);
//
// // convert the XmlDocument into a hash table
// if (doc.DocumentElement != null && doc.DocumentElement["members"] != null) {
// foreach (XmlNode node in doc.DocumentElement["members"].ChildNodes) {
// if (node != null && node.Attributes != null && node.Attributes["name"] != null) {
// docuNodes[node.Attributes["name"].InnerText] = node;
// }
// }
// }
// }
// loadingPath = Path.GetDirectoryName(fileName) + Path.DirectorySeparatorChar;
// System.Reflection.Assembly asm = Assembly.ReflectionOnlyLoadFrom(fileName);
// foreach (Type type in asm.GetTypes()) {
// if (!type.FullName.StartsWith("<") && type.IsPublic) {
// classes.Add(new ReflectionClass(type, docuNodes));
// }
// }
// } catch (Exception e) {
// Console.WriteLine("Got exception while loading assembly {0} : {1}", fileName, e.Message);
// } finally {
// AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(MyResolveEventHandler);
// }
// }
// }
//}

2
src/Main/Base/Project/Src/Dom/CodeCompletionOptions.cs → src/Main/Base/Project/Src/Services/ParserService/CodeCompletionOptions.cs

@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
using System;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Dom
namespace ICSharpCode.SharpDevelop
{
/// <summary>
/// Class containing static properties for the code completion options.

49
src/Main/Base/Project/Src/Services/ParserService/DomHostCallback.cs

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
// <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;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop
{
/// <summary>
/// Implements the methods in ICSharpCode.SharpDevelop.Dom.HostCallback
/// </summary>
internal static class DomHostCallback
{
internal static void Register()
{
HostCallback.GetParseInformation = ParserService.GetParseInformation;
HostCallback.RenameMember = Refactoring.FindReferencesAndRenameHelper.RenameMember;
HostCallback.ShowMessage = MessageService.ShowMessage;
HostCallback.ShowError = delegate(string message, Exception ex) {
MessageService.ShowError(ex, message);
};
HostCallback.BeginAssemblyLoad = delegate(string shortName) {
StatusBarService.ProgressMonitor.BeginTask("Loading " + shortName + "...", 100);
};
HostCallback.FinishAssemblyLoad = StatusBarService.ProgressMonitor.Done;
HostCallback.ShowAssemblyLoadError = delegate(string fileName, string include, string message) {
WorkbenchSingleton.SafeThreadAsyncCall(ShowAssemblyLoadError,
fileName, include, message);
};
}
static void ShowAssemblyLoadError(string fileName, string include, string message)
{
WorkbenchSingleton.Workbench.GetPad(typeof(CompilerMessageView)).BringPadToFront();
TaskService.BuildMessageViewCategory.AppendText("Error loading code-completion information for "
+ include + " from " + fileName
+ ":\r\n" + message + "\r\n");
}
}
}

26
src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs

@ -38,7 +38,7 @@ namespace ICSharpCode.Core @@ -38,7 +38,7 @@ namespace ICSharpCode.Core
IProject project;
public override IProject Project {
public override IDomProject Project {
get {
return project;
}
@ -68,15 +68,17 @@ namespace ICSharpCode.Core @@ -68,15 +68,17 @@ namespace ICSharpCode.Core
}
}
UpdateReferenceInterDependencies();
WorkbenchSingleton.SafeThreadAsyncCall(this, "OnReferencedContentsChanged", EventArgs.Empty);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<EventArgs>(OnReferencedContentsChanged),
EventArgs.Empty);
}
void UpdateReferenceInterDependencies()
{
// Use ToArray because the collection could be modified inside the loop
IProjectContent[] referencedContents;
lock (this.referencedContents) {
referencedContents = this.referencedContents.ToArray();
lock (this.ReferencedContents) {
referencedContents = new IProjectContent[this.ReferencedContents.Count];
this.ReferencedContents.CopyTo(referencedContents, 0);
}
foreach (IProjectContent referencedContent in referencedContents) {
if (referencedContent is ReflectionProjectContent) {
@ -88,16 +90,17 @@ namespace ICSharpCode.Core @@ -88,16 +90,17 @@ namespace ICSharpCode.Core
void AddReference(ReferenceProjectItem reference, bool updateInterDependencies)
{
try {
IProjectContent referencedContent = ProjectContentRegistry.GetProjectContentForReference(reference);
IProjectContent referencedContent = ParserService.GetProjectContentForReference(reference);
if (referencedContent != null) {
lock (this.referencedContents) {
this.referencedContents.Add(referencedContent);
lock (this.ReferencedContents) {
this.ReferencedContents.Add(referencedContent);
}
}
if (updateInterDependencies) {
UpdateReferenceInterDependencies();
}
WorkbenchSingleton.SafeThreadAsyncCall(this, "OnReferencedContentsChanged", EventArgs.Empty);
WorkbenchSingleton.SafeThreadAsyncCall(new Action<EventArgs>(OnReferencedContentsChanged),
EventArgs.Empty);
} catch (Exception e) {
MessageService.ShowError(e);
}
@ -169,7 +172,7 @@ namespace ICSharpCode.Core @@ -169,7 +172,7 @@ namespace ICSharpCode.Core
ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
if (reference != null) {
try {
IProjectContent referencedContent = ProjectContentRegistry.GetExistingProjectContentForReference(reference);
IProjectContent referencedContent = ParserService.GetExistingProjectContentForReference(reference);
if (referencedContent != null) {
lock (ReferencedContents) {
ReferencedContents.Remove(referencedContent);
@ -236,8 +239,9 @@ namespace ICSharpCode.Core @@ -236,8 +239,9 @@ namespace ICSharpCode.Core
StatusBarService.ProgressMonitor.TaskName = "${res:ICSharpCode.SharpDevelop.Internal.ParserService.Parsing} " + project.Name + "...";
IProjectContent[] referencedContents;
lock (this.referencedContents) {
referencedContents = this.referencedContents.ToArray();
lock (this.ReferencedContents) {
referencedContents = new IProjectContent[this.ReferencedContents.Count];
this.ReferencedContents.CopyTo(referencedContents, 0);
}
foreach (IProjectContent referencedContent in referencedContents) {

52
src/Main/Base/Project/Src/Services/ParserService/ParserService.cs

@ -29,8 +29,6 @@ namespace ICSharpCode.Core @@ -29,8 +29,6 @@ namespace ICSharpCode.Core
public static IProjectContent CurrentProjectContent {
[DebuggerStepThrough]
get {
if (forcedContent != null) return forcedContent;
if (ProjectService.CurrentProject == null || !projectContents.ContainsKey(ProjectService.CurrentProject)) {
return DefaultProjectContent;
}
@ -38,15 +36,6 @@ namespace ICSharpCode.Core @@ -38,15 +36,6 @@ namespace ICSharpCode.Core
}
}
static IProjectContent forcedContent;
/// <summary>
/// Used for unit tests ONLY!!
/// </summary>
public static void ForceProjectContent(IProjectContent content)
{
forcedContent = content;
}
/// <summary>
/// Gets the list of project contents of all open projects.
/// </summary>
@ -102,7 +91,7 @@ namespace ICSharpCode.Core @@ -102,7 +91,7 @@ namespace ICSharpCode.Core
if (!loadSolutionProjectsThread.Join(50)) {
// loadSolutionProjects might be waiting for main thread, so give it
// a chance to complete asynchronous calls
WorkbenchSingleton.SafeThreadAsyncCall((ThreadStart)OnSolutionLoaded);
WorkbenchSingleton.SafeThreadAsyncCall(OnSolutionLoaded);
return;
}
}
@ -146,7 +135,7 @@ namespace ICSharpCode.Core @@ -146,7 +135,7 @@ namespace ICSharpCode.Core
MessageService.ShowError(e, "Error while retrieving project contents from " + project);
}
}
WorkbenchSingleton.SafeThreadAsyncCall((ThreadStart)ProjectService.ParserServiceCreatedProjectContents);
WorkbenchSingleton.SafeThreadAsyncCall(ProjectService.ParserServiceCreatedProjectContents);
int workAmount = 0;
foreach (ParseProjectContent newContent in createdContents) {
if (abortLoadSolutionProjectsThread) return;
@ -302,7 +291,7 @@ namespace ICSharpCode.Core @@ -302,7 +291,7 @@ namespace ICSharpCode.Core
{
object[] workbench;
try {
workbench = (object[])WorkbenchSingleton.SafeThreadCall(typeof(ParserService), "GetWorkbench");
workbench = WorkbenchSingleton.SafeThreadFunction<object[]>(GetWorkbench);
} catch (InvalidOperationException) { // includes ObjectDisposedException
// maybe workbench has been disposed while waiting for the SafeThreadCall
// can occur after workbench unload or after aborting SharpDevelop with
@ -429,7 +418,7 @@ namespace ICSharpCode.Core @@ -429,7 +418,7 @@ namespace ICSharpCode.Core
};
foreach (string defaultReference in defaultReferences) {
ReferenceProjectItem item = new ReferenceProjectItem(null, defaultReference);
IProjectContent pc = ProjectContentRegistry.GetProjectContentForReference(item);
IProjectContent pc = ParserService.GetProjectContentForReference(item);
if (pc != null) {
defaultProjectContent.ReferencedContents.Add(pc);
}
@ -492,11 +481,14 @@ namespace ICSharpCode.Core @@ -492,11 +481,14 @@ namespace ICSharpCode.Core
if (parsings.ContainsKey(fileName)) {
ParseInformation parseInformation = parsings[fileName];
fileProjectContent.UpdateCompilationUnit(parseInformation.MostRecentCompilationUnit, parserOutput as ICompilationUnit, fileName, updateCommentTags);
fileProjectContent.UpdateCompilationUnit(parseInformation.MostRecentCompilationUnit, parserOutput, fileName);
} else {
fileProjectContent.UpdateCompilationUnit(null, parserOutput, fileName, updateCommentTags);
fileProjectContent.UpdateCompilationUnit(null, parserOutput, fileName);
}
if (updateCommentTags) {
TaskService.UpdateCommentTags(fileName, parserOutput.TagComments);
}
return UpdateParseInformation(parserOutput as ICompilationUnit, fileName, updateCommentTags, fireUpdate);
return UpdateParseInformation(parserOutput, fileName, updateCommentTags, fireUpdate);
} catch (Exception e) {
MessageService.ShowError(e);
}
@ -661,5 +653,29 @@ namespace ICSharpCode.Core @@ -661,5 +653,29 @@ namespace ICSharpCode.Core
public static event ParseInformationEventHandler ParseInformationUpdated;
public static event EventHandler LoadSolutionProjectsThreadEnded;
public static IProjectContent GetExistingProjectContentForReference(ReferenceProjectItem item)
{
if (item is ProjectReferenceProjectItem) {
if (((ProjectReferenceProjectItem)item).ReferencedProject == null)
{
return null;
}
return ParserService.GetProjectContent(((ProjectReferenceProjectItem)item).ReferencedProject);
}
return ProjectContentRegistry.GetExistingProjectContentForReference(item.Include, item.FileName);
}
public static IProjectContent GetProjectContentForReference(ReferenceProjectItem item)
{
if (item is ProjectReferenceProjectItem) {
if (((ProjectReferenceProjectItem)item).ReferencedProject == null)
{
return null;
}
return ParserService.GetProjectContent(((ProjectReferenceProjectItem)item).ReferencedProject);
}
return ProjectContentRegistry.GetProjectContentForReference(item.Include, item.FileName);
}
}
}

41
src/Main/Base/Project/Src/Services/ParserService/Position.cs

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Andrea Paatz" email="andrea@icsharpcode.net"/>
// <version>$Revision$</version>
// </file>
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.Core
{
public class Position
{
int line = -1;
int column = -1;
ICompilationUnit cu;
public int Line {
get {
return line;
}
}
public int Column {
get {
return column;
}
}
public ICompilationUnit Cu {
get {
return cu;
}
}
public Position(ICompilationUnit cu, int line, int column)
{
this.line = line;
this.column = column;
this.cu = cu;
}
}
}

4
src/Main/Base/Project/Src/Services/ProjectService/ParseableFileContentEnumerator.cs

@ -134,7 +134,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -134,7 +134,7 @@ namespace ICSharpCode.SharpDevelop.Project
if (isOnMainThread)
content = GetFileContentFromOpenFile(fileName);
else
content = (string)WorkbenchSingleton.SafeThreadCall(this, "GetFileContentFromOpenFile", fileName);
content = WorkbenchSingleton.SafeThreadFunction<string, string>(GetFileContentFromOpenFile, fileName);
if (content != null)
return content;
}
@ -151,7 +151,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -151,7 +151,7 @@ namespace ICSharpCode.SharpDevelop.Project
bool IsFileOpen(string fileName)
{
if (viewContentCollection == null) {
viewContentCollection = (IViewContent[])WorkbenchSingleton.SafeThreadCall(this, "GetViewContentCollection");
viewContentCollection = WorkbenchSingleton.SafeThreadFunction<IViewContent[]>(GetViewContentCollection);
}
foreach (IViewContent content in viewContentCollection) {
string contentName = content.IsUntitled ? content.UntitledName : content.FileName;

5
src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs

@ -89,10 +89,10 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -89,10 +89,10 @@ namespace ICSharpCode.SharpDevelop.Refactoring
RenameMember(member, newName);
}
public static void RenameMember(IMember member, string newName)
public static bool RenameMember(IMember member, string newName)
{
List<Reference> list = RefactoringService.FindReferences(member, null);
if (list == null) return;
if (list == null) return false;
FindReferencesAndRenameHelper.RenameReferences(list, newName);
if (member is IField) {
@ -109,6 +109,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -109,6 +109,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
}
}
}
return true;
}
internal static IProperty FindProperty(IField field)

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

@ -83,7 +83,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -83,7 +83,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
}
}
cu.ProjectContent.Language.CodeGenerator.ReplaceUsings(document, cu.Usings, newUsings);
cu.ProjectContent.Language.CodeGenerator.ReplaceUsings(new TextEditorDocument(document), cu.Usings, newUsings);
}
}
}

1
src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs

@ -10,6 +10,7 @@ using System.Reflection; @@ -10,6 +10,7 @@ using System.Reflection;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.TextEditor;

3
src/Main/Base/Project/Src/Services/RefactoringService/RefactoringMenuBuilder.cs

@ -15,6 +15,7 @@ using ICSharpCode.SharpDevelop.Bookmarks; @@ -15,6 +15,7 @@ using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.ClassBrowser;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
@ -182,7 +183,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -182,7 +183,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
if (definitions.Contains(c.DotNetName)) return null;
definitions.Add(c.DotNetName);
}
return MakeItem(c.FullyQualifiedName, new ClassNode(c.ProjectContent.Project, c), c.CompilationUnit, c.Region);
return MakeItem(c.FullyQualifiedName, new ClassNode((IProject)c.ProjectContent.Project, c), c.CompilationUnit, c.Region);
}
ToolStripMenuItem MakeItemInternal(string title, int imageIndex, ICompilationUnit cu, DomRegion region)

122
src/Main/Base/Project/Src/Services/RefactoringService/TextEditorDocument.cs

@ -0,0 +1,122 @@ @@ -0,0 +1,122 @@
// <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;
using System.Collections.Generic;
using System.Drawing;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using IDocumentLine = ICSharpCode.SharpDevelop.Dom.Refactoring.IDocumentLine;
namespace ICSharpCode.SharpDevelop.Refactoring
{
/// <summary>
/// Use this class to pass a text editor document to the refactoring API.
/// </summary>
public sealed class TextEditorDocument : ICSharpCode.SharpDevelop.Dom.Refactoring.IDocument
{
IDocument doc;
public TextEditorDocument(IDocument doc)
{
if (doc == null)
throw new ArgumentNullException("doc");
this.doc = doc;
}
private sealed class TextEditorDocumentLine : IDocumentLine
{
IDocument doc;
LineSegment line;
public TextEditorDocumentLine(IDocument doc, LineSegment line)
{
this.doc = doc;
this.line = line;
}
public int Offset {
get {
return line.Offset;
}
}
public int Length {
get {
return line.Length;
}
}
public string Text {
get {
return doc.GetText(line.Offset, line.Length);
}
}
}
public int TextLength {
get {
return doc.TextLength;
}
}
public IDocumentLine GetLine(int lineNumber)
{
return new TextEditorDocumentLine(doc, doc.GetLineSegment(lineNumber - 1));
}
public int PositionToOffset(int line, int column)
{
return doc.PositionToOffset(new Point(column - 1, line - 1));
}
public void Insert(int offset, string text)
{
actionCount += 1;
doc.Insert(offset, text);
}
public void Remove(int offset, int length)
{
actionCount += 1;
doc.Remove(offset, length);
}
public char GetCharAt(int offset)
{
return doc.GetCharAt(offset);
}
Stack<int> undoableActionCountStack = new Stack<int>();
int actionCount;
public void StartUndoableAction()
{
undoableActionCountStack.Push(actionCount);
actionCount = 0;
}
public void EndUndoableAction()
{
int undoCount = actionCount;
actionCount = undoableActionCountStack.Pop();
doc.UndoStack.UndoLast(undoCount);
}
public void UpdateView()
{
doc.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.WholeTextArea));
doc.CommitUpdate();
}
public int TotalNumberOfLines {
get {
return doc.TotalNumberOfLines;
}
}
}
}

4
src/Main/Base/Project/Src/Services/StatusBar/StatusBarService.cs

@ -14,11 +14,11 @@ using ICSharpCode.SharpDevelop.Gui; @@ -14,11 +14,11 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.Core
{
public class StatusBarService
public static class StatusBarService
{
static SdStatusBar statusBar = null;
static StatusBarService()
internal static void Initialize()
{
statusBar = new SdStatusBar();
}

8
src/Main/Base/Project/Src/Services/Tasks/TaskService.cs

@ -158,18 +158,18 @@ namespace ICSharpCode.Core @@ -158,18 +158,18 @@ namespace ICSharpCode.Core
}
}
public static void UpdateCommentTags(string fileName, List<Tag> tagComments)
public static void UpdateCommentTags(string fileName, List<TagComment> tagComments)
{
if (fileName == null || tagComments == null) {
return;
}
WorkbenchSingleton.SafeThreadAsyncCall(typeof(TaskService), "UpdateCommentTagsInvoked", fileName, tagComments);
WorkbenchSingleton.SafeThreadAsyncCall(UpdateCommentTagsInvoked, fileName, tagComments);
}
static void UpdateCommentTagsInvoked(string fileName, List<Tag> tagComments)
static void UpdateCommentTagsInvoked(string fileName, List<TagComment> tagComments)
{
List<Task> newTasks = new List<Task>();
foreach (Tag tag in tagComments) {
foreach (TagComment tag in tagComments) {
newTasks.Add(new Task(fileName,
tag.Key + tag.CommentString,
tag.Region.BeginColumn - 1,

8
src/Main/Base/Project/Src/TextEditor/Actions.cs

@ -73,14 +73,14 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Actions @@ -73,14 +73,14 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Actions
ResolveResult result = ParserService.Resolve(expression, caretLineNumber, caretColumn, textEditorControl.FileName, textContent);
if (result != null) {
FilePosition pos = result.GetDefinitionPosition();
if (pos != null) {
if (pos.IsEmpty == false) {
try {
if (pos.Position.IsEmpty)
FileService.OpenFile(pos.Filename);
FileService.OpenFile(pos.FileName);
else
FileService.JumpToFilePosition(pos.Filename, pos.Position.X - 1, pos.Position.Y - 1);
FileService.JumpToFilePosition(pos.FileName, pos.Position.X - 1, pos.Position.Y - 1);
} catch (Exception ex) {
MessageService.ShowError(ex, "Error jumping to '" + pos.Filename + "'.");
MessageService.ShowError(ex, "Error jumping to '" + pos.FileName + "'.");
}
}
}

11
src/Main/Base/Project/Src/TextEditor/Commands/ClassBookmarkMenuBuilder.cs

@ -16,6 +16,7 @@ using ICSharpCode.Core; @@ -16,6 +16,7 @@ using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.ClassBrowser;
using ICSharpCode.SharpDevelop.Project;
@ -63,7 +64,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -63,7 +64,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
delegate {
FileService.RenameFile(c.CompilationUnit.FileName, correctFileName, false);
if (c.ProjectContent.Project != null) {
c.ProjectContent.Project.Save();
((IProject)c.ProjectContent.Project).Save();
}
});
list.Add(cmd);
@ -117,7 +118,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -117,7 +118,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
IWorkbenchWindow window = FileService.NewFile(newFileName, "Text", newCode);
window.ViewContent.Save(newFileName);
IProject project = c.ProjectContent.Project;
IProject project = (IProject)c.ProjectContent.Project;
if (project != null) {
FileProjectItem projectItem = new FileProjectItem(project, ItemType.Compile);
projectItem.FileName = newFileName;
@ -129,7 +130,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -129,7 +130,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
static string ExtractCode(IClass c, DomRegion codeRegion, int indentationLine)
{
IDocument doc = GetDocument(c);
ICSharpCode.TextEditor.Document.IDocument doc = GetDocument(c);
if (indentationLine < 0) indentationLine = 0;
if (indentationLine >= doc.TotalNumberOfLines) indentationLine = doc.TotalNumberOfLines - 1;
@ -182,7 +183,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -182,7 +183,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
if (interf != null && interf.ClassType == ClassType.Interface) {
IReturnType rtCopy = rt; // copy for access by anonymous method
EventHandler eh = delegate {
IDocument d = GetDocument(c);
TextEditorDocument d = new TextEditorDocument(GetDocument(c));
if (d != null)
codeGen.ImplementInterface(rtCopy, d, explicitImpl, modifier, c);
ParserService.ParseCurrentViewContent();
@ -217,7 +218,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -217,7 +218,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
}
}
static IDocument GetDocument(IClass c)
static ICSharpCode.TextEditor.Document.IDocument GetDocument(IClass c)
{
IWorkbenchWindow win = FileService.OpenFile(c.CompilationUnit.FileName);
if (win == null) return null;

19
src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs

@ -8,18 +8,16 @@ @@ -8,18 +8,16 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Gui.ClassBrowser;
using SearchAndReplace;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.TextEditor;
using SearchAndReplace;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{
@ -121,7 +119,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -121,7 +119,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
TextEditorControl textEditor = FindReferencesAndRenameHelper.JumpBehindDefinition(member);
CodeGenerator codeGen = member.DeclaringType.ProjectContent.Language.CodeGenerator;
codeGen.InsertCodeAfter(member, textEditor.Document,
codeGen.InsertCodeAfter(member, new TextEditorDocument(textEditor.Document),
codeGen.CreateProperty(member, true, includeSetter));
ParserService.ParseCurrentViewContent();
}
@ -131,7 +129,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -131,7 +129,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
MenuCommand item = (MenuCommand)sender;
IProperty member = (IProperty)item.Tag;
TextEditorControl textEditor = FindReferencesAndRenameHelper.JumpBehindDefinition(member);
member.DeclaringType.ProjectContent.Language.CodeGenerator.CreateChangedEvent(member, textEditor.Document);
member.DeclaringType.ProjectContent.Language.CodeGenerator.CreateChangedEvent(member, new TextEditorDocument(textEditor.Document));
ParserService.ParseCurrentViewContent();
}
@ -141,7 +139,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -141,7 +139,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
IEvent member = (IEvent)item.Tag;
TextEditorControl textEditor = FindReferencesAndRenameHelper.JumpBehindDefinition(member);
CodeGenerator codeGen = member.DeclaringType.ProjectContent.Language.CodeGenerator;
codeGen.InsertCodeAfter(member, textEditor.Document, codeGen.CreateOnEventMethod(member));
codeGen.InsertCodeAfter(member, new TextEditorDocument(textEditor.Document),
codeGen.CreateOnEventMethod(member));
ParserService.ParseCurrentViewContent();
}

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs

@ -11,7 +11,7 @@ using System.Collections.Generic; @@ -11,7 +11,7 @@ using System.Collections.Generic;
using ICSharpCode.NRefactory.Ast;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands

5
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/CodeGeneratorBase.cs

@ -12,6 +12,7 @@ using System.Collections.Generic; @@ -12,6 +12,7 @@ using System.Collections.Generic;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Ast;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.TextEditor;
@ -21,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -21,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{
ArrayList content = new ArrayList();
protected IClass currentClass;
protected ICSharpCode.SharpDevelop.Refactoring.CodeGenerator codeGen;
protected ICSharpCode.SharpDevelop.Dom.Refactoring.CodeGenerator codeGen;
protected ClassFinder classFinderContext;
public void Initialize(IClass currentClass)
@ -71,7 +72,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -71,7 +72,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{
List<AbstractNode> nodes = new List<AbstractNode>();
GenerateCode(nodes, items);
codeGen.InsertCodeInClass(currentClass, textArea.Document, textArea.Caret.Line, nodes.ToArray());
codeGen.InsertCodeInClass(currentClass, new TextEditorDocument(textArea.Document), textArea.Caret.Line, nodes.ToArray());
ParserService.ParseCurrentViewContent();
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save