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; }
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 FatalError("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; ProtoLanguage.CompileStateTracker compileState = null; Execute(strSource, core, out compileState); if (isTest && !core.Options.CompileToLib) return new ExecutionMirror(core.CurrentExecutive.CurrentDSASMExec, core); else return null; }