From 312277119c5c5f9a01e8ab378dcd1f2eb24ac6a1 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sat, 14 Oct 2017 15:07:36 +0200 Subject: [PATCH] Move ILAstWritingOptions to separate file --- .../ICSharpCode.Decompiler.csproj | 1 + .../IL/ILAstWritingOptions.cs | 66 +++++++++++++++++++ .../IL/Instructions/ILInstruction.cs | 13 ---- 3 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 ICSharpCode.Decompiler/IL/ILAstWritingOptions.cs diff --git a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj index 93e3c5389..07d6c2668 100644 --- a/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj +++ b/ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj @@ -273,6 +273,7 @@ + diff --git a/ICSharpCode.Decompiler/IL/ILAstWritingOptions.cs b/ICSharpCode.Decompiler/IL/ILAstWritingOptions.cs new file mode 100644 index 000000000..42b8ddf66 --- /dev/null +++ b/ICSharpCode.Decompiler/IL/ILAstWritingOptions.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using System.Text; + +namespace ICSharpCode.Decompiler.IL +{ + public class ILAstWritingOptions : INotifyPropertyChanged + { + private bool useLogicOperationSugar; + private bool useFieldSugar; + private bool showILRanges; + + /// + /// Sugar for logic.not/and/or. + /// + public bool UseLogicOperationSugar { + get { return useLogicOperationSugar; } + set { + if (useLogicOperationSugar != value) { + useLogicOperationSugar = value; + OnPropertyChanged(); + } + } + } + + /// + /// Sugar for ldfld/stfld. + /// + public bool UseFieldSugar { + get { return useFieldSugar; } + set { + if (useFieldSugar != value) { + useFieldSugar = value; + OnPropertyChanged(); + } + } + } + + /// + /// Show IL ranges in ILAst output. + /// + public bool ShowILRanges { + get { return showILRanges; } + set { + if (showILRanges != value) { + showILRanges = value; + OnPropertyChanged(); + } + } + } + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + OnPropertyChanged(new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnPropertyChanged(PropertyChangedEventArgs e) + { + PropertyChanged?.Invoke(this, e); + } + + public event PropertyChangedEventHandler PropertyChanged; + } +} diff --git a/ICSharpCode.Decompiler/IL/Instructions/ILInstruction.cs b/ICSharpCode.Decompiler/IL/Instructions/ILInstruction.cs index b4042364e..d0bce881a 100644 --- a/ICSharpCode.Decompiler/IL/Instructions/ILInstruction.cs +++ b/ICSharpCode.Decompiler/IL/Instructions/ILInstruction.cs @@ -745,17 +745,4 @@ namespace ICSharpCode.Decompiler.IL /// StackType UnderlyingResultType { get; } } - - public class ILAstWritingOptions - { - /// - /// Sugar for logic.not/and/or. - /// - public bool UseLogicOperationSugar { get; set; } - - /// - /// Sugar for ldfld/stfld. - /// - public bool UseFieldSugar { get; set; } - } }