diff --git a/UIX/Microsoft/Iris/Application.cs b/UIX/Microsoft/Iris/Application.cs index 367ccf9..0026557 100644 --- a/UIX/Microsoft/Iris/Application.cs +++ b/UIX/Microsoft/Iris/Application.cs @@ -135,7 +135,7 @@ namespace Microsoft.Iris get => DllResources.StaticDllResourcesOnly; } - public static bool IsDebug { get; set; } + public static Debug.DebugSettings DebugSettings { get; set; } public static void Initialize() { diff --git a/UIX/Microsoft/Iris/Debug/DebugSettings.cs b/UIX/Microsoft/Iris/Debug/DebugSettings.cs new file mode 100644 index 0000000..cf398d3 --- /dev/null +++ b/UIX/Microsoft/Iris/Debug/DebugSettings.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; + +namespace Microsoft.Iris.Debug +{ + public class DebugSettings + { + public bool UseDecompiler { get; set; } = false; + public bool OpenDebugPipe { get; set; } = false; + public List DecompileResults { get; } = new List(); + public TraceSettings TraceSettings { get; } = TraceSettings.Current; + } +} diff --git a/UIX/Microsoft/Iris/Markup/Interpreter.cs b/UIX/Microsoft/Iris/Markup/Interpreter.cs index cd9d833..06e8ab1 100644 --- a/UIX/Microsoft/Iris/Markup/Interpreter.cs +++ b/UIX/Microsoft/Iris/Markup/Interpreter.cs @@ -25,7 +25,7 @@ namespace Microsoft.Iris.Markup byteCodeReader = context.LoadResult.ObjectSection; num = (long)((ulong)byteCodeReader.CurrentOffset); byteCodeReader.CurrentOffset = context.InitialBytecodeOffset; - if (InterpreterContext.UseDecompile) + if (Application.DebugSettings.UseDecompiler) result = RunDecompile(context, byteCodeReader); else result = Run(context, byteCodeReader); @@ -1561,7 +1561,7 @@ namespace Microsoft.Iris.Markup } CleanUpXmlDoc(); - InterpreterContext.DecompileResults.Add(XmlDoc); + Application.DebugSettings.DecompileResults.Add(XmlDoc); return result; } diff --git a/UIX/Microsoft/Iris/Markup/InterpreterContext.cs b/UIX/Microsoft/Iris/Markup/InterpreterContext.cs index 84e9d83..e5fd7b0 100644 --- a/UIX/Microsoft/Iris/Markup/InterpreterContext.cs +++ b/UIX/Microsoft/Iris/Markup/InterpreterContext.cs @@ -19,8 +19,6 @@ namespace Microsoft.Iris.Markup private ParameterContext _parameterContext; private Map _scopedLocals; private static Stack s_cache = new Stack(); - public static bool UseDecompile = false; - public static List DecompileResults = new List(); private InterpreterContext() { diff --git a/UIX/Microsoft/Iris/Queues/Dispatcher.cs b/UIX/Microsoft/Iris/Queues/Dispatcher.cs index 330691d..1d992d5 100644 --- a/UIX/Microsoft/Iris/Queues/Dispatcher.cs +++ b/UIX/Microsoft/Iris/Queues/Dispatcher.cs @@ -145,7 +145,7 @@ namespace Microsoft.Iris.Queues { get { - if (_debugPipe == null && Application.IsDebug) + if (_debugPipe == null && Application.DebugSettings.OpenDebugPipe) { _debugPipe = new NamedPipeClientStream(System.Reflection.Assembly.GetExecutingAssembly().FullName); _debugPipe.Connect(); @@ -180,7 +180,7 @@ namespace Microsoft.Iris.Queues /// public static void SendDebugMessage(string message) { - if (Application.IsDebug && DebugPipe.IsConnected && DebugPipe.CanWrite) + if (Application.DebugSettings.OpenDebugPipe && DebugPipe.IsConnected && DebugPipe.CanWrite) { DebugPipe.WriteByte(0x01); byte[] buffer = System.Text.Encoding.Unicode.GetBytes(message);