public ExpressionParser(string expression, ParameterExpression[] parameters, ParserSettings settings)
        {
            _settings = settings;

            _parameters = new Dictionary<string, Expression>();
            //_literals = new Dictionary<Expression, string>();

            ProcessParameters(parameters);

            text = expression ?? string.Empty;
            textLen = text.Length;
            SetTextPos(0);
            NextToken();
        }
        public ExpressionParser(string expression, Type expressionType, ParameterExpression[] parameters, ParserSettings settings)
        {
            _settings = settings;
            _expressionType = expressionType;

            _parameters = new Dictionary<string, Expression>(settings.SettingsKeyComparer);

            _bindingCase = settings.CaseInsensitive ? BindingFlags.IgnoreCase : BindingFlags.Default;
            _memberFilterCase = settings.CaseInsensitive ? Type.FilterNameIgnoreCase : Type.FilterName;

            AddParameters(parameters);

            _expressionText = expression ?? string.Empty;
            _expressionTextLength = _expressionText.Length;
            SetTextPos(0);
            NextToken();
        }
示例#3
0
 public Detector(ParserSettings settings)
 {
     _settings = settings;
 }
 /// <summary>
 /// Create a new interpreter with the settings copied from another interpreter
 /// </summary>
 internal Interpreter(ParserSettings settings)
 {
     _settings = settings;
 }