public dynamic GetExecuter(Value globalOverride = null) { var e = new EngineExecuter(this, globalOverride); Debugger?.OnEngineExecutorStart(e); e.OnDispose = () => Debugger?.OnEngineExecutorFinish(e); return(e); }
public ExpressionBuilder(EngineExecuter engineExecuter) { EngineExecuter = engineExecuter; var keywordBuilders = typeof(ExpressionBuilder).GetTypeInfo().Assembly .GetTypes() .Where(x => typeof(KeywordExpressionBuilder).IsAssignableFrom(x) && !x.GetTypeInfo().IsAbstract) .Select(x => Activator.CreateInstance(x, this)) .OfType <KeywordExpressionBuilder>(); foreach (var keywork in keywordBuilders) { DefinedKeywordExpressionBuilders.Add(keywork); } }