예제 #1
0
        public void AddPattern(bool caseSensitive, bool needSeparators, IPatternMatcher matcher, object[] tags)
        {
            var patternMatcherReference = new PatternMatchReference(matcher)
                                          {NextSibling = FirstExpression, Tags = tags, NeedSeparators = needSeparators};

            FirstExpression = patternMatcherReference;
        }
예제 #2
0
        public void AddPattern(string prefix, bool caseSensitive, bool needSeparators, IPatternMatcher matcher,
                               object[] tags)
        {
            if (string.IsNullOrEmpty(prefix))
                throw new ArgumentNullException("prefix");

            TokenTreeNode node = AddTokenInternal(prefix, caseSensitive);

            var patternMatcherReference = new PatternMatchReference(matcher)
                                          {NextSibling = FirstExpression, Tags = tags, NeedSeparators = needSeparators};

            node.FirstExpression = patternMatcherReference;
        }
예제 #3
0
        public void AddPattern(string prefix, bool caseSensitive, bool needSeparators, IPatternMatcher matcher,
                                  object[] tags)
        {
            prefix.Require("prefix")
                .NotNullOrEmpty();

            TokenTreeNode node = AddTokenInternal(prefix, caseSensitive);

            var patternMatcherReference = new PatternMatchReference(matcher)
            {
                NextSibling = FirstExpression,
                Tags = tags,
                NeedSeparators = needSeparators
            };

            node.FirstExpression = patternMatcherReference;
        }
예제 #4
0
        private void AddPatternWithoutPrefix(IPatternMatcher matcher, bool caseSensitive, bool needSeparators,
                                                object[] tags)
        {
            if (matcher.DefaultPrefixes != null)
            {
                foreach (string defaultPrefix in matcher.DefaultPrefixes)
                {
                    AddPattern(defaultPrefix, matcher, caseSensitive, needSeparators, tags);
                }
            }
            else
            {
                var patternMatcherReference = new PatternMatchReference(matcher)
                {
                    Tags = tags,
                    NextSibling = root.FirstExpression,
                    NeedSeparators = needSeparators
                };

                root.FirstExpression = patternMatcherReference;
            }
        }