public ExecutionMirror LoadAndExecute(string fileName, ProtoCore.Core core, bool isTest = true) { string codeContent = string.Empty; try { using (System.IO.StreamReader reader = new System.IO.StreamReader(fileName, Encoding.UTF8, true)) { codeContent = reader.ReadToEnd(); } } catch (System.IO.IOException) { throw new FatalError("Cannot open file " + fileName); } //Start the timer core.StartTimer(); core.CurrentDSFileName = ProtoCore.Utils.FileUtils.GetFullPathName(fileName); core.Options.RootModulePathName = core.CurrentDSFileName; Execute(codeContent, core); if (!core.Options.CompileToLib && (null != core.CurrentExecutive)) { return(new ExecutionMirror(core.CurrentExecutive.CurrentDSASMExec, core)); } return(null); }
/// <summary> /// Load and execute the DS code in the specified file /// </summary> /// <param name="filename"></param> /// <param name="core"></param> /// <param name="isTest"></param> /// <returns></returns> public ExecutionMirror LoadAndExecute(string filename, ProtoCore.Core core, bool isTest = true) { System.IO.StreamReader reader = null; try { reader = new System.IO.StreamReader(filename, Encoding.UTF8, true); } catch (System.IO.IOException) { throw new Exception("Cannot open file " + filename); } string strSource = reader.ReadToEnd(); reader.Dispose(); //Start the timer core.StartTimer(); core.Options.RootModulePathName = ProtoCore.Utils.FileUtils.GetFullPathName(filename); core.CurrentDSFileName = core.Options.RootModulePathName; Execute(strSource, core); if (isTest && !core.Options.CompileToLib) { return(new ExecutionMirror(core.CurrentExecutive.CurrentDSASMExec, core)); } else { return(null); } }