Exemple #1
0
        public SyntaxToken Lex()
        {
            _leadingTrivia.Clear();
            _diagnostics.Clear();
            _start = _charReader.Position;
            ReadTrivia(_leadingTrivia, isTrailing: false);
            var leadingTrivia = _leadingTrivia.ToImmutableArray();

            _kind           = SyntaxKind.BadToken;
            _contextualKind = SyntaxKind.BadToken;
            _value          = null;
            _diagnostics.Clear();
            _start = _charReader.Position;
            ReadToken();
            var end         = _charReader.Position;
            var kind        = _kind;
            var span        = TextSpan.FromBounds(_start, end);
            var text        = _text.GetText(span);
            var diagnostics = _diagnostics.ToImmutableArray();

            _trailingTrivia.Clear();
            _diagnostics.Clear();
            _start = _charReader.Position;
            ReadTrivia(_trailingTrivia, isTrailing: true);
            var trailingTrivia = _trailingTrivia.ToImmutableArray();

            return(new SyntaxToken(_syntaxTree, kind, _contextualKind, false, span, text, _value, leadingTrivia, trailingTrivia, diagnostics));
        }
 public override string GetText(TextSpan textSpan)
 {
     return(_sourceText.GetText(textSpan));
 }
Exemple #3
0
        public override bool IsMatch(EventInfo eventInfo)
        {
            bool   isMatch    = false;
            string sourceText = null;

            if (UseMessageValue)
            {
                sourceText = _messageValueRetriever.GetValue(eventInfo, MessageValue, MessageValueType, Identifier);
            }
            else
            {
                if (MessageValueType != MessageValueType.Text && Identifier != null)
                {
                    switch (MessageValueType)
                    {
                    case MessageValueType.Json:
                        sourceText = SourceText.GetText(eventInfo.Variables).GetJsonValue(Identifier.GetText(eventInfo.Variables)) ?? string.Empty;
                        break;

                    case MessageValueType.Xml:
                        sourceText = SourceText.GetText(eventInfo.Variables).GetXmlValue(Identifier.GetText(eventInfo.Variables)) ?? string.Empty;
                        break;
                    }
                }
                else
                {
                    sourceText = SourceText.GetText(eventInfo.Variables);
                }
            }
            string matchText = MatchText.GetText(eventInfo.Variables);

            switch (MatchType)
            {
            case MatchType.BeginsWith:
                isMatch = sourceText.StartsWith(matchText);
                break;

            case MatchType.EndsWith:
                isMatch = sourceText.EndsWith(matchText);
                break;

            case MatchType.Contains:
                isMatch = sourceText.Contains(matchText);
                break;

            case MatchType.Equals:
                isMatch = sourceText == matchText;
                break;

            case MatchType.Regex:
                try
                {
                    isMatch = Regex.IsMatch(sourceText, matchText);
                }
                catch (Exception)
                {
                }
                break;
            }
            return(isMatch);
        }