diff --git a/src/ScriptEngine/Environment/ModuleInformation.cs b/src/ScriptEngine/Environment/ModuleInformation.cs index 799f8d428..b6fbc5d0d 100644 --- a/src/ScriptEngine/Environment/ModuleInformation.cs +++ b/src/ScriptEngine/Environment/ModuleInformation.cs @@ -13,9 +13,11 @@ This Source Code Form is subject to the terms of the namespace ScriptEngine.Environment { + [Serializable] public class ModuleInformation { public string ModuleName { get; set; } + [NonSerialized] internal ISourceCodeIndexer CodeIndexer { get; set; } public string Origin { get; set; } diff --git a/src/ScriptEngine/Machine/MachineInstance.cs b/src/ScriptEngine/Machine/MachineInstance.cs index 34958d1f9..943994685 100644 --- a/src/ScriptEngine/Machine/MachineInstance.cs +++ b/src/ScriptEngine/Machine/MachineInstance.cs @@ -513,7 +513,7 @@ private void SetScriptExceptionSource(RuntimeException exc) if (_module.ModuleInfo != null) { exc.ModuleName = _module.ModuleInfo.ModuleName; - exc.Code = _module.ModuleInfo.CodeIndexer.GetCodeLine(exc.LineNumber); + exc.Code = _module.ModuleInfo.CodeIndexer?.GetCodeLine(exc.LineNumber) ?? "<исходный код недоступен>"; } else { diff --git a/src/StandaloneRunner/StandaloneProcess.cs b/src/StandaloneRunner/StandaloneProcess.cs index f7b5427e9..74213e05e 100644 --- a/src/StandaloneRunner/StandaloneProcess.cs +++ b/src/StandaloneRunner/StandaloneProcess.cs @@ -72,8 +72,12 @@ public int Run() templateStorage.RegisterTemplate(resource.ResourceName, DeserializeTemplate(resource.Data)); } var module = appDump.Scripts[0].Image; + + //module.ModuleInfo = new ModuleInformation { ModuleName = "<исходный код недоступен>", Origin = "<исходный код недоступен>" }; + for (int i = 1; i < appDump.Scripts.Length; i++) { + //appDump.Scripts[i].Image.ModuleInfo = new ModuleInformation { ModuleName = "<исходный код недоступен1>", Origin = "<исходный код недоступен1>" }; engine.LoadUserScript(appDump.Scripts[i]); }