public virtual Task <TReturn> Execute <TReturn, THost>(ScriptContext context, THost host) { var compilationContext = ScriptCompiler.CreateCompilationContext <TReturn, THost>(context); ScriptConsole.WriteDiagnostics(compilationContext.Warnings, compilationContext.Errors); if (compilationContext.Errors.Any()) { throw new CompilationErrorException("Script compilation failed due to one or more errors.", compilationContext.Errors.ToImmutableArray()); } return(Execute(compilationContext, host)); }
private async Task RunFirstScript(ScriptContext scriptContext) { foreach (var arg in scriptContext.Args) { _globals.Args.Add(arg); } var compilationContext = ScriptCompiler.CreateCompilationContext <object, InteractiveScriptGlobals>(scriptContext); Console.WriteDiagnostics(compilationContext.Warnings, compilationContext.Errors); if (compilationContext.Errors.Any()) { throw new CompilationErrorException("Script compilation failed due to one or more errors.", compilationContext.Errors.ToImmutableArray()); } _scriptState = await compilationContext.Script.RunAsync(_globals, ex => true).ConfigureAwait(false); _scriptOptions = compilationContext.ScriptOptions; }