/// <summary> /// Initializes a new instance of the <see cref="Script"/> class. /// </summary> /// <param name="coreModules">The core modules to be pre-registered in the default global table.</param> public Script(CoreModules coreModules) { Options = new ScriptOptions(DefaultOptions); PerformanceStats = new PerformanceStatistics(); Registry = new Table(this); m_ByteCode = new ByteCode(this); m_GlobalTable = new Table(this).RegisterCoreModules(coreModules); m_MainProcessor = new Processor(this, m_GlobalTable, m_ByteCode); }
/// <summary> /// Initializes the <see cref="Script"/> class. /// </summary> static Script() { GlobalOptions = new ScriptGlobalOptions(); DefaultOptions = new ScriptOptions() { DebugPrint = s => { Script.GlobalOptions.Platform.DefaultPrint(s); }, DebugInput = s => { return Script.GlobalOptions.Platform.DefaultInput(s); }, CheckThreadAccess = true, ScriptLoader = PlatformAutoDetector.GetDefaultScriptLoader(), TailCallOptimizationThreshold = 65536 }; }
internal ScriptOptions(ScriptOptions defaults) { this.DebugInput = defaults.DebugInput; this.DebugPrint = defaults.DebugPrint; this.UseLuaErrorLocations = defaults.UseLuaErrorLocations; this.Stdin = defaults.Stdin; this.Stdout = defaults.Stdout; this.Stderr = defaults.Stderr; this.TailCallOptimizationThreshold = defaults.TailCallOptimizationThreshold; this.ScriptLoader = defaults.ScriptLoader; this.CheckThreadAccess = defaults.CheckThreadAccess; }
internal ScriptOptions(ScriptOptions defaults) { this.DebugInput = defaults.DebugInput; this.DebugPrint = defaults.DebugPrint; this.ScriptLoader = defaults.ScriptLoader; }