Browse Source

Started porting the FxCop-AddIn to SD5.

newNRvisualizers
Daniel Grunwald 13 years ago
parent
commit
a660f427b8
  1. 11
      SharpDevelop.Tests.sln
  2. 8
      TODOnewNR.txt
  3. 16
      src/AddIns/Analysis/CodeAnalysis/CodeAnalysis.csproj
  4. 5
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.cs
  5. 13
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptions.resx
  6. 76
      src/AddIns/Analysis/CodeAnalysis/Src/FxCopLogger.cs
  7. 48
      src/AddIns/Analysis/CodeAnalysis/Src/SuppressMessageCommand.cs
  8. 2
      src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs
  9. 4
      src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs
  10. 61
      src/AddIns/Debugger/Debugger.AddIn/TreeModel/ValueNode.cs
  11. 4
      src/AddIns/DisplayBindings/IconEditor/EditorPanel.resx
  12. 6
      src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn.csproj
  13. 4
      src/AddIns/DisplayBindings/IconEditor/IconPanel.resx
  14. 3
      src/Libraries/ICSharpCode.Build.Tasks/Project/FxCop.cs
  15. 10
      src/Main/Base/Project/Src/Services/ClassBrowserIcons/ClassBrowserIconService.cs
  16. 7
      src/Setup/Files.wxs
  17. 5
      src/Setup/Setup.wxs

11
SharpDevelop.Tests.sln

@ -121,6 +121,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\Dis @@ -121,6 +121,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\Dis
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "src\AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{AF5E0DC1-1FA0-4346-A436-0C817C68F7C1}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@ -515,6 +517,14 @@ Global @@ -515,6 +517,14 @@ Global
{1F261725-6318-4434-A1B1-6C70CE4CD324}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F261725-6318-4434-A1B1-6C70CE4CD324}.Release|x86.Build.0 = Release|Any CPU
{1F261725-6318-4434-A1B1-6C70CE4CD324}.Release|x86.ActiveCfg = Release|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Debug|x86.Build.0 = Debug|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Debug|x86.ActiveCfg = Debug|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Release|Any CPU.Build.0 = Release|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Release|x86.Build.0 = Release|Any CPU
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -569,6 +579,7 @@ Global @@ -569,6 +579,7 @@ Global
{E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1}
{A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1}

8
TODOnewNR.txt

@ -13,6 +13,14 @@ Commented code, needs to be ported and re-enabled: @@ -13,6 +13,14 @@ Commented code, needs to be ported and re-enabled:
--> See TODO-list on Google Docs
Important features (self-hosting):
Ctrl+Space Completion
ctor snippet
Rename refactoring
Run unit test from icon bar margin
"Add using" context action (and other resolve error MD context actions)
ILSpy-AddIn
Stuff that was renamed/moved:
ICSharpCode.SharpDevelop.Dom -> the type system and resolvers now are part of ICSharpCode.NRefactory
IDocument -> moved to ICSharpCode.NRefactory.Editor

16
src/AddIns/Analysis/CodeAnalysis/CodeAnalysis.csproj

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
@ -71,6 +71,10 @@ @@ -71,6 +71,10 @@
<EmbeddedResource Include="Resources\AnalysisIdeOptionPanel.xfrm" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
<Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project>
<Name>ICSharpCode.NRefactory</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
@ -81,16 +85,6 @@ @@ -81,16 +85,6 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Libraries\NRefactory\Project\NRefactory.csproj">
<Project>{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}</Project>
<Name>NRefactory</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>
<Folder Include="Resources" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />

5
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.cs

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using System;
using System.IO;
@ -53,10 +54,10 @@ namespace ICSharpCode.CodeAnalysis @@ -53,10 +54,10 @@ namespace ICSharpCode.CodeAnalysis
public static string FxCopPath {
get {
return PropertyService.Get("CodeAnalysis.FxCopPath");
return SD.PropertyService.Get("CodeAnalysis.FxCopPath", string.Empty);
}
set {
PropertyService.Set("CodeAnalysis.FxCopPath", value);
SD.PropertyService.Set("CodeAnalysis.FxCopPath", value);
}
}
}

13
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptions.resx

@ -112,15 +112,16 @@ @@ -112,15 +112,16 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="splitContainer1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="splitContainer1.GenerateMember" type="System.Boolean, mscorlib">
<value>False</value>
</metadata>
<metadata name="panel1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
</data>
<data name="panel1.GenerateMember" type="System.Boolean, mscorlib">
<value>False</value>
</metadata>
</data>
</root>

76
src/AddIns/Analysis/CodeAnalysis/Src/FxCopLogger.cs

@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
using System;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;
using Microsoft.Build.Framework;
@ -49,42 +49,40 @@ namespace ICSharpCode.CodeAnalysis @@ -49,42 +49,40 @@ namespace ICSharpCode.CodeAnalysis
}
IProject project = ProjectService.GetProject(engineWorker.ProjectFileName);
if (project != null) {
IProjectContent pc = ParserService.GetProjectContent(project);
if (pc != null) {
if (error.FileName != null) {
int pos = error.FileName.IndexOf("positionof#", StringComparison.Ordinal);
if (pos >= 0) {
string memberName = error.FileName.Substring(pos+11);
FilePosition filePos = GetPosition(pc, memberName);
if (filePos.IsEmpty == false && filePos.CompilationUnit != null) {
error.FileName = filePos.FileName ?? "";
error.Line = filePos.Line;
error.Column = filePos.Column;
} else {
error.FileName = null;
}
if (error.FileName != null) {
int pos = error.FileName.IndexOf("positionof#", StringComparison.Ordinal);
if (pos >= 0) {
ICompilation compilation = SD.ParserService.GetCompilation(project);
string memberName = error.FileName.Substring(pos+11);
DomRegion filePos = GetPosition(compilation, memberName);
if (!filePos.IsEmpty) {
error.FileName = filePos.FileName ?? "";
error.Line = filePos.BeginLine;
error.Column = filePos.BeginColumn;
} else {
error.FileName = null;
}
}
if (moreData.Length > 1 && !string.IsNullOrEmpty(moreData[0])) {
error.Tag = new FxCopTaskTag {
ProjectContent = pc,
TypeName = moreData[0],
MemberName = moreData[1],
Category = error.HelpKeyword,
CheckID = checkId
};
} else {
error.Tag = new FxCopTaskTag {
ProjectContent = pc,
Category = error.HelpKeyword,
CheckID = checkId
};
}
error.ContextMenuAddInTreeEntry = "/SharpDevelop/Pads/ErrorList/CodeAnalysisTaskContextMenu";
if (moreData.Length > 2) {
(error.Tag as FxCopTaskTag).MessageID = moreData[2];
}
}
if (moreData.Length > 1 && !string.IsNullOrEmpty(moreData[0])) {
error.Tag = new FxCopTaskTag {
Project = project,
TypeName = moreData[0],
MemberName = moreData[1],
Category = error.HelpKeyword,
CheckID = checkId
};
} else {
error.Tag = new FxCopTaskTag {
Project = project,
Category = error.HelpKeyword,
CheckID = checkId
};
}
error.ContextMenuAddInTreeEntry = "/SharpDevelop/Pads/ErrorList/CodeAnalysisTaskContextMenu";
if (moreData.Length > 2) {
(error.Tag as FxCopTaskTag).MessageID = moreData[2];
}
}
nextChainElement.HandleError(error);
@ -95,8 +93,10 @@ namespace ICSharpCode.CodeAnalysis @@ -95,8 +93,10 @@ namespace ICSharpCode.CodeAnalysis
nextChainElement.HandleBuildEvent(e);
}
static FilePosition GetPosition(IProjectContent pc, string memberName)
static DomRegion GetPosition(ICompilation compilation, string memberName)
{
throw new NotImplementedException();
/*
// memberName is a special syntax used by our FxCop task:
// className#memberName
int pos = memberName.IndexOf('#');
@ -104,14 +104,14 @@ namespace ICSharpCode.CodeAnalysis @@ -104,14 +104,14 @@ namespace ICSharpCode.CodeAnalysis
return FilePosition.Empty;
string className = memberName.Substring(0, pos);
memberName = memberName.Substring(pos + 1);
return SuppressMessageCommand.GetPosition(pc, className, memberName);
return SuppressMessageCommand.GetPosition(pc, className, memberName);*/
}
}
}
public class FxCopTaskTag
{
public IProjectContent ProjectContent { get; set; }
public IProject Project { get; set; }
public string TypeName { get; set; }
public string MemberName { get; set; }
public string Category { get; set; }

48
src/AddIns/Analysis/CodeAnalysis/Src/SuppressMessageCommand.cs

@ -4,16 +4,13 @@ @@ -4,16 +4,13 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Refactoring;
using Ast = ICSharpCode.NRefactory.Ast;
namespace ICSharpCode.CodeAnalysis
{
@ -22,11 +19,12 @@ namespace ICSharpCode.CodeAnalysis @@ -22,11 +19,12 @@ namespace ICSharpCode.CodeAnalysis
public override void Run()
{
TaskView view = (TaskView)Owner;
foreach (Task t in new List<Task>(view.SelectedTasks)) {
foreach (SDTask t in view.SelectedTasks.ToList()) {
FxCopTaskTag tag = t.Tag as FxCopTaskTag;
if (tag == null)
continue;
CodeGenerator codegen = tag.ProjectContent.Language.CodeGenerator;
throw new NotImplementedException();
/*CodeGenerator codegen = tag.ProjectContent.Language.CodeGenerator;
if (codegen == null)
continue;
FilePosition p;
@ -57,10 +55,11 @@ namespace ICSharpCode.CodeAnalysis @@ -57,10 +55,11 @@ namespace ICSharpCode.CodeAnalysis
document.Insert(line.Offset, code);
provider.TextEditor.JumpTo(p.Line, p.Column);
TaskService.Remove(t);
ParserService.ParseViewContent(viewContent);
ParserService.ParseViewContent(viewContent);*/
}
}
/*
internal static FilePosition GetPosition(IProjectContent pc, string className, string memberName)
{
IClass c = pc.GetClassByReflectionName(className, false);
@ -102,11 +101,11 @@ namespace ICSharpCode.CodeAnalysis @@ -102,11 +101,11 @@ namespace ICSharpCode.CodeAnalysis
return false;
return a.Line > b.Line;
}
}*/
const string NamespaceName = "System.Diagnostics.CodeAnalysis";
const string AttributeName = "SuppressMessage";
/*
static Ast.AbstractNode CreateSuppressAttribute(ICompilationUnit cu, FxCopTaskTag tag)
{
//System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
@ -129,35 +128,6 @@ namespace ICSharpCode.CodeAnalysis @@ -129,35 +128,6 @@ namespace ICSharpCode.CodeAnalysis
AttributeTarget = tag.MemberName == null ? "assembly" : null,
Attributes = { a }
};
}
static bool CheckImports(ICompilationUnit cu)
{
if (CheckImports(cu.ProjectContent.DefaultImports))
return true;
return CheckImports(cu.UsingScope);
}
static bool CheckImports(IUsingScope scope)
{
foreach (IUsing u in scope.Usings) {
if (CheckImports(u)) {
return true;
}
}
foreach (IUsingScope childscope in scope.ChildScopes) {
if (CheckImports(childscope))
return true;
}
return false;
}
static bool CheckImports(IUsing u)
{
if (u == null)
return false;
else
return u.Usings.Contains(NamespaceName);
}
}*/
}
}

2
src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs

@ -89,7 +89,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -89,7 +89,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
try {
node = new ValueNode(null, name, () => WindowsDebugger.Evaluate(name));
} catch (GetValueException e) {
node = new TreeNode("Icons.16x16.Error", name, e.Message, string.Empty, null);
node = new TreeNode(new ResourceServiceImage("Icons.16x16.Error"), name, e.Message, string.Empty, null);
}
node.CanDelete = true;
node.CanSetName = true;

4
src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs

@ -100,9 +100,9 @@ namespace Debugger.AddIn.TreeModel @@ -100,9 +100,9 @@ namespace Debugger.AddIn.TreeModel
this.GetChildren = getChildren;
}
public TreeNode(string imageName, string name, string value, string type, Func<IEnumerable<TreeNode>> getChildren)
public TreeNode(IImage image, string name, string value, string type, Func<IEnumerable<TreeNode>> getChildren)
{
this.Image = string.IsNullOrEmpty(imageName) ? null : new ResourceServiceImage(imageName);
this.Image = image;
this.Name = name;
this.Value = value;
this.Type = type;

61
src/AddIns/Debugger/Debugger.AddIn/TreeModel/ValueNode.cs

@ -4,30 +4,21 @@ @@ -4,30 +4,21 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
using Debugger.MetaData;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Semantics;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Gui.Pads;
using ICSharpCode.SharpDevelop.Services;
//using Debugger.AddIn.Visualizers;
//using Debugger.AddIn.Visualizers.Utils;
namespace Debugger.AddIn.TreeModel
{
/// <summary>
@ -55,8 +46,8 @@ namespace Debugger.AddIn.TreeModel @@ -55,8 +46,8 @@ namespace Debugger.AddIn.TreeModel
get { return this.Value; }
}
public ValueNode(string imageName, string name, Func<Value> getValue, Action<Value> setValue = null)
: base(imageName, name, string.Empty, string.Empty, null)
public ValueNode(IImage image, string name, Func<Value> getValue, Action<Value> setValue = null)
: base(image, name, string.Empty, string.Empty, null)
{
if (getValue == null)
throw new ArgumentNullException("getValue");
@ -132,7 +123,7 @@ namespace Debugger.AddIn.TreeModel @@ -132,7 +123,7 @@ namespace Debugger.AddIn.TreeModel
}
} else if (val.Type.Kind == TypeKind.Pointer) {
if (val.Dereference() != null) {
this.GetChildren = () => new[] { new ValueNode("Icons.16x16.Local", "*" + this.Name, () => GetValue().Dereference()) };
this.GetChildren = () => new[] { new ValueNode(ClassBrowserIconService.LocalVariable, "*" + this.Name, () => GetValue().Dereference()) };
}
}
@ -236,32 +227,6 @@ namespace Debugger.AddIn.TreeModel @@ -236,32 +227,6 @@ namespace Debugger.AddIn.TreeModel
return menu;
}
public static string GetImageForMember(IMember memberInfo)
{
string name = string.Empty;
if (memberInfo.IsPublic) {
} else if (memberInfo.IsInternal) {
name += "Internal";
} else if (memberInfo.IsProtected) {
name += "Protected";
} else if (memberInfo.IsPrivate) {
name += "Private";
}
if (memberInfo is FieldInfo) {
name += "Field";
} else if (memberInfo is PropertyInfo) {
name += "Property";
} else if (memberInfo is MethodInfo) {
name += "Method";
} else {
throw new DebuggerException("Unknown member type " + memberInfo.GetType().FullName);
}
return "Icons.16x16." + name;
}
/// <summary>
/// The root of any node evaluation is valid stack frame.
/// </summary>
@ -281,7 +246,7 @@ namespace Debugger.AddIn.TreeModel @@ -281,7 +246,7 @@ namespace Debugger.AddIn.TreeModel
{
if (value == null)
throw new ArgumentNullException("value");
return new ValueNode("Icons.16x16.Local", text, () => value);
return new ValueNode(ClassBrowserIconService.LocalVariable, text, () => value);
}
public static IEnumerable<TreeNode> GetLocalVariables()
@ -289,12 +254,12 @@ namespace Debugger.AddIn.TreeModel @@ -289,12 +254,12 @@ namespace Debugger.AddIn.TreeModel
var stackFrame = GetCurrentStackFrame();
foreach(var par in stackFrame.MethodInfo.Parameters.Select((p, i) => new { Param = p, Index = i})) {
var parCopy = par;
yield return new ValueNode("Icons.16x16.Parameter", par.Param.Name, () => GetCurrentStackFrame().GetArgumentValue(par.Index));
yield return new ValueNode(ClassBrowserIconService.Parameter, par.Param.Name, () => GetCurrentStackFrame().GetArgumentValue(par.Index));
}
if (stackFrame.HasSymbols) {
foreach(LocalVariable locVar in stackFrame.GetLocalVariables(stackFrame.IP)) {
var locVarCopy = locVar;
yield return new ValueNode("Icons.16x16.Local", locVar.Name, () => locVarCopy.GetValue(GetCurrentStackFrame()));
yield return new ValueNode(ClassBrowserIconService.LocalVariable, locVar.Name, () => locVarCopy.GetValue(GetCurrentStackFrame()));
}
} else {
WindowsDebugger debugger = (WindowsDebugger)DebuggerService.CurrentDebugger;
@ -332,7 +297,7 @@ namespace Debugger.AddIn.TreeModel @@ -332,7 +297,7 @@ namespace Debugger.AddIn.TreeModel
IType baseType = shownType.DirectBaseTypes.FirstOrDefault(t => t.Kind != TypeKind.Interface);
if (baseType != null) {
yield return new TreeNode(
"Icons.16x16.Class",
ClassBrowserIconService.Class,
StringParser.Parse("${res:MainWindow.Windows.Debug.LocalVariables.BaseClass}"),
baseType.Name,
baseType.FullName,
@ -391,8 +356,8 @@ namespace Debugger.AddIn.TreeModel @@ -391,8 +356,8 @@ namespace Debugger.AddIn.TreeModel
{
foreach(var memberInfo in members.OrderBy(m => m.Name)) {
var memberInfoCopy = memberInfo;
string imageName = GetImageForMember(memberInfo);
yield return new ValueNode(imageName, memberInfo.Name, () => GetValue().GetMemberValue(WindowsDebugger.EvalThread, memberInfoCopy));
var icon = ClassBrowserIconService.GetIcon(memberInfo);
yield return new ValueNode(icon, memberInfo.Name, () => GetValue().GetMemberValue(WindowsDebugger.EvalThread, memberInfoCopy));
}
}
@ -415,7 +380,7 @@ namespace Debugger.AddIn.TreeModel @@ -415,7 +380,7 @@ namespace Debugger.AddIn.TreeModel
if (count == 0) {
return new [] { new TreeNode("(empty)", null) };
} else {
return Enumerable.Range(0, count).Select(i => new ValueNode("Icons.16x16.Field", "[" + i + "]", () => list.GetPropertyValue(WindowsDebugger.EvalThread, itemProp, Eval.CreateValue(WindowsDebugger.EvalThread, i))));
return Enumerable.Range(0, count).Select(i => new ValueNode(ClassBrowserIconService.Field, "[" + i + "]", () => list.GetPropertyValue(WindowsDebugger.EvalThread, itemProp, Eval.CreateValue(WindowsDebugger.EvalThread, i))));
}
}
@ -470,7 +435,7 @@ namespace Debugger.AddIn.TreeModel @@ -470,7 +435,7 @@ namespace Debugger.AddIn.TreeModel
}
sb.Append("]");
int[] indicesCopy = indices;
yield return new ValueNode("Icons.16x16.Field", sb.ToString(), () => GetValue().GetArrayElement(indicesCopy));
yield return new ValueNode(ClassBrowserIconService.Field, sb.ToString(), () => GetValue().GetArrayElement(indicesCopy));
}
yield break;
}

4
src/AddIns/DisplayBindings/IconEditor/EditorPanel.resx

@ -112,9 +112,9 @@ @@ -112,9 +112,9 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

6
src/AddIns/DisplayBindings/IconEditor/IconEditorAddIn.csproj

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
<FileAlignment>4096</FileAlignment>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
@ -39,7 +39,9 @@ @@ -39,7 +39,9 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />

4
src/AddIns/DisplayBindings/IconEditor/IconPanel.resx

@ -112,9 +112,9 @@ @@ -112,9 +112,9 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

3
src/Libraries/ICSharpCode.Build.Tasks/Project/FxCop.cs

@ -129,8 +129,7 @@ namespace ICSharpCode.Build.Tasks @@ -129,8 +129,7 @@ namespace ICSharpCode.Build.Tasks
if (memberName.StartsWith("#"))
memberName = memberName.Substring(1);
// second, translate .ctor to #ctor
if (memberName.StartsWith(".ctor") || memberName.StartsWith(".cctor"))
memberName = "#" + memberName.Substring(1);
memberName = memberName.Replace('.', '#');
}
parent = parent.ParentNode;
}

10
src/Main/Base/Project/Src/Services/ClassBrowserIcons/ClassBrowserIconService.cs

@ -25,25 +25,15 @@ namespace ICSharpCode.SharpDevelop @@ -25,25 +25,15 @@ namespace ICSharpCode.SharpDevelop
#endregion
#region Entity Images
[Obsolete]
public static readonly IImage Class = GetIImage(CompletionImage.Class.BaseImage);
[Obsolete]
public static readonly IImage Struct = GetIImage(CompletionImage.Struct.BaseImage);
[Obsolete]
public static readonly IImage Interface = GetIImage(CompletionImage.Interface.BaseImage);
[Obsolete]
public static readonly IImage Enum = GetIImage(CompletionImage.Enum.BaseImage);
[Obsolete]
public static readonly IImage Method = GetIImage(CompletionImage.Method.BaseImage);
[Obsolete]
public static readonly IImage Property = GetIImage(CompletionImage.Property.BaseImage);
[Obsolete]
public static readonly IImage Field = GetIImage(CompletionImage.Field.BaseImage);
[Obsolete]
public static readonly IImage Delegate = GetIImage(CompletionImage.Delegate.BaseImage);
[Obsolete]
public static readonly IImage Event = GetIImage(CompletionImage.Event.BaseImage);
[Obsolete]
public static readonly IImage Indexer = GetIImage(CompletionImage.Indexer.BaseImage);
#endregion

7
src/Setup/Files.wxs

@ -1448,16 +1448,13 @@ @@ -1448,16 +1448,13 @@
<File Source="..\..\AddIns\DisplayBindings\FormsDesigner\FormsDesigner.dll" Id="FormsDesigner.dll" Name="FormsDesigner.dll" Assembly=".net" AssemblyApplication="FormsDesigner.dll" AssemblyManifest="FormsDesigner.dll" KeyPath="yes" />
<File Source="..\..\AddIns\DisplayBindings\FormsDesigner\FormsDesigner.addin" Id="FormsDesigner.addin" Name="FormsDesigner.addin" />
</Component>
</Directory>
</Directory>-->
<Directory Id="IconEditorFolder" Name="IconEditor">
<Component Guid="13031705-82B1-46D8-8749-453A6A313A3B" Id="IconEditorExe" DiskId="1">
<File Source="..\..\AddIns\DisplayBindings\IconEditor\IconEditor.exe" Id="IconEditor.exe" Name="IconEditor.exe" Assembly=".net" AssemblyApplication="IconEditor.exe" AssemblyManifest="IconEditor.exe" KeyPath="yes" />
</Component>
<Component Guid="A6F985C3-09A5-4650-9A8E-239BBC737B10" Id="IconEditorAddInFiles" DiskId="1">
<File Source="..\..\AddIns\DisplayBindings\IconEditor\ICSharpCode.IconEditorAddIn.dll" Id="ICSharpCode.IconEditorAddIn.dll" Name="ICSharpCode.IconEditorAddIn.dll" Assembly=".net" AssemblyApplication="ICSharpCode.IconEditorAddIn.dll" AssemblyManifest="ICSharpCode.IconEditorAddIn.dll" KeyPath="yes" />
<File Source="..\..\AddIns\DisplayBindings\IconEditor\IconEditorAddIn.addin" Id="IconEditorAddIn.addin" Name="IconEditorAddIn.addin" />
</Component>
</Directory>
</Directory><!--
<Directory Id="ResourceEditorFolder" Name="ResourceEditor">
<Component Guid="010A8620-382C-477B-9330-51A8B6C48A7A" Id="ResourceEditorFiles" DiskId="1">
<File Source="..\..\AddIns\DisplayBindings\ResourceEditor\ResourceEditor.dll" Id="ResourceEditor.dll" Name="ResourceEditor.dll" Assembly=".net" AssemblyApplication="ResourceEditor.dll" AssemblyManifest="ResourceEditor.dll" KeyPath="yes" />

5
src/Setup/Setup.wxs

@ -342,10 +342,9 @@ @@ -342,10 +342,9 @@
<ComponentRef Id="WixUIMinimalProjectTemplate"/>
<ComponentRef Id="WixUIInstallDirProjectTemplate"/>
<ComponentRef Id="WixUIFeatureTreeProjectTemplate"/>
<ComponentRef Id="FormsDesignerFiles"/>
<ComponentRef Id="FormsDesignerFiles"/>-->
<ComponentRef Id="IconEditorAddInFiles"/>
<ComponentRef Id="IconEditorExe"/>
<ComponentRef Id="ResourceEditorFiles"/>
<!--<ComponentRef Id="ResourceEditorFiles"/>
<ComponentRef Id="SettingsEditorFiles"/>
<ComponentRef Id="ClassDiagramResources"/>
<ComponentRef Id="ClassDiagramAddInFiles"/>

Loading…
Cancel
Save