protected override IPrecompiledScript InnerPrecompile(string code, string documentName) { OriginalCompiledScript compiledScript; string uniqueDocumentName = GetUniqueDocumentName(documentName, false); lock (_executionSynchronizer) { try { var source = new OriginalStringScriptSource(code, uniqueDocumentName); compiledScript = _jsEngine.Compile(source); } catch (OriginalSyntaxException e) { throw WrapSyntaxException(e); } } return(new JurassicPrecompiledScript(compiledScript)); }
public bool JurassicCompiled(Parameter parameter) { Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine(); Jurassic.CompiledScript compiledScript = engine.Compile(new Jurassic.StringScriptSource("n = " + EXPRESSION)); List <int> results = new List <int>(parameter.Numbers.Length); foreach (int number in parameter.Numbers) { engine.SetGlobalValue("n", number); compiledScript.Execute(engine); int result = engine.GetGlobalValue <int>("n"); results.Add(result); } return(Assert(results, parameter.Sum)); }