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; }
- }
}