Rubberduck.Parsing.Preprocessing.LikeExpression.Evaluate C# (CSharp) Method

Evaluate() public method

public Evaluate ( ) : IValue
return IValue
        public override IValue Evaluate()
        {
            var expr = _expression.Evaluate();
            var pattern = _pattern.Evaluate();
            if (expr == null || pattern == null)
            {
                return null;
            }
            var exprStr = expr.AsString;
            var patternStr = pattern.AsString;
            var stream = new AntlrInputStream(patternStr);
            var lexer = new VBALikeLexer(stream);
            var tokens = new CommonTokenStream(lexer);
            var parser = new VBALikeParser(tokens);
            var likePattern = parser.likePatternString();
            var regex = TranslateToNETRegex(likePattern);
            return new BoolValue(Regex.IsMatch(exprStr, regex));
        }