public EvaluationContext( string name, ISpiceNetlistCaseSensitivitySettings caseSettings, IRandomizer randomizer, IExpressionParserFactory expressionParserFactory, IExpressionFeaturesReader expressionFeaturesReader, IExpressionValueProvider expressionValueProvider, INameGenerator nameGenerator, IResultService resultService) { _caseSettings = caseSettings; ExpressionParserFactory = expressionParserFactory; ExpressionFeaturesReader = expressionFeaturesReader; ExpressionValueProvider = expressionValueProvider; NameGenerator = nameGenerator; ResultService = resultService; Name = name; Parameters = new Dictionary <string, Expression>(StringComparerProvider.Get(caseSettings.IsParameterNameCaseSensitive)); Arguments = new Dictionary <string, Expression>(StringComparerProvider.Get(caseSettings.IsParameterNameCaseSensitive)); Functions = new Dictionary <string, List <IFunction> >(StringComparerProvider.Get(caseSettings.IsFunctionNameCaseSensitive)); Children = new List <EvaluationContext>(); ExpressionRegistry = new ExpressionRegistry(caseSettings.IsParameterNameCaseSensitive, caseSettings.IsExpressionNameCaseSensitive); FunctionsBody = new Dictionary <string, string>(); FunctionArguments = new Dictionary <string, List <string> >(); Randomizer = randomizer; }
public SpiceEvaluationContext( string name, SpiceExpressionMode mode, ISpiceNetlistCaseSensitivitySettings caseSetting, IRandomizer randomizer, IExpressionParserFactory expressionParserFactory, IExpressionFeaturesReader expressionFeaturesReader, IExpressionValueProvider expressionValueProvider, INameGenerator nameGenerator, IResultService resultService) : base(name, caseSetting, randomizer, expressionParserFactory, expressionFeaturesReader, expressionValueProvider, nameGenerator, resultService) { Mode = mode; CreateCommonFunctions(); CreateSpiceFunctions(); CreateSpiceParameters(); }