diff --git a/ICSharpCode.ILSpyX/LanguageVersion.cs b/ICSharpCode.ILSpyX/LanguageVersion.cs new file mode 100644 index 000000000..0300f5db2 --- /dev/null +++ b/ICSharpCode.ILSpyX/LanguageVersion.cs @@ -0,0 +1,40 @@ +// Copyright (c) 2011 AlphaSierraPapa for the SharpDevelop Team +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of this +// software and associated documentation files (the "Software"), to deal in the Software +// without restriction, including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +namespace ICSharpCode.ILSpyX +{ + /// + /// Version-DisplayName pair used in UI scenarios, for example ILSpy's language version dropdown. + /// + public class LanguageVersion + { + public string Version { get; } + public string DisplayName { get; } + + public LanguageVersion(string version, string? name = null) + { + Version = version ?? ""; + DisplayName = name ?? Version.ToString(); + } + + public override string ToString() + { + return $"[LanguageVersion DisplayName={DisplayName}, Version={Version}]"; + } + } +} diff --git a/ILSpy/DecompilationOptions.cs b/ILSpy/DecompilationOptions.cs index 1218b20f6..0b95dd0ea 100644 --- a/ILSpy/DecompilationOptions.cs +++ b/ILSpy/DecompilationOptions.cs @@ -20,6 +20,7 @@ using System; using System.Threading; using ICSharpCode.ILSpy.Options; +using ICSharpCode.ILSpyX; namespace ICSharpCode.ILSpy { diff --git a/ILSpy/Languages/CSharpLanguage.cs b/ILSpy/Languages/CSharpLanguage.cs index 2e6f3343f..ae1e4e0e4 100644 --- a/ILSpy/Languages/CSharpLanguage.cs +++ b/ILSpy/Languages/CSharpLanguage.cs @@ -47,6 +47,8 @@ using ICSharpCode.ILSpy.TextView; using ICSharpCode.ILSpy.TreeNodes; using ICSharpCode.ILSpyX; +using LanguageVersion = ICSharpCode.ILSpyX.LanguageVersion; + namespace ICSharpCode.ILSpy { /// diff --git a/ILSpy/Languages/Language.cs b/ILSpy/Languages/Language.cs index ecf626dbd..b47acbaad 100644 --- a/ILSpy/Languages/Language.cs +++ b/ILSpy/Languages/Language.cs @@ -32,27 +32,8 @@ using ICSharpCode.Decompiler.Util; using ICSharpCode.ILSpyX; using ICSharpCode.ILSpyX.Abstractions; -using SRM = System.Reflection.Metadata; - namespace ICSharpCode.ILSpy { - public class LanguageVersion - { - public string Version { get; } - public string DisplayName { get; } - - public LanguageVersion(string version, string name = null) - { - this.Version = version ?? ""; - this.DisplayName = name ?? version.ToString(); - } - - public override string ToString() - { - return $"[LanguageVersion DisplayName={DisplayName}, Version={Version}]"; - } - } - /// /// Base class for language-specific decompiler implementations. /// @@ -84,9 +65,9 @@ namespace ICSharpCode.ILSpy /// /// Gets the syntax highlighting used for this language. /// - public virtual ICSharpCode.AvalonEdit.Highlighting.IHighlightingDefinition SyntaxHighlighting { + public virtual IHighlightingDefinition SyntaxHighlighting { get { - return ICSharpCode.AvalonEdit.Highlighting.HighlightingManager.Instance.GetDefinitionByExtension(this.FileExtension); + return HighlightingManager.Instance.GetDefinitionByExtension(FileExtension); } } @@ -541,13 +522,13 @@ namespace ICSharpCode.ILSpy } } - public virtual CodeMappingInfo GetCodeMappingInfo(PEFile module, SRM.EntityHandle member) + public virtual CodeMappingInfo GetCodeMappingInfo(PEFile module, EntityHandle member) { - var declaringType = (SRM.TypeDefinitionHandle)member.GetDeclaringType(module.Metadata); + var declaringType = (TypeDefinitionHandle)member.GetDeclaringType(module.Metadata); - if (declaringType.IsNil && member.Kind == SRM.HandleKind.TypeDefinition) + if (declaringType.IsNil && member.Kind == HandleKind.TypeDefinition) { - declaringType = (SRM.TypeDefinitionHandle)member; + declaringType = (TypeDefinitionHandle)member; } return new CodeMappingInfo(module, declaringType); diff --git a/ILSpy/ViewModels/TabPageModel.cs b/ILSpy/ViewModels/TabPageModel.cs index 91903f678..836560c2c 100644 --- a/ILSpy/ViewModels/TabPageModel.cs +++ b/ILSpy/ViewModels/TabPageModel.cs @@ -22,6 +22,7 @@ using System.Linq; using System.Threading.Tasks; using ICSharpCode.ILSpy.TextView; +using ICSharpCode.ILSpyX; namespace ICSharpCode.ILSpy.ViewModels {