private void TrackTagHelperBlock(TagHelperBlockBuilder builder)
        {
            _currentTagHelperTracker = new TagHelperBlockTracker(builder);
            _trackerStack.Push(_currentTagHelperTracker);

            TrackBlock(builder);
        }
            public TagHelperBlockTracker(TagHelperBlockBuilder builder)
            {
                Builder = builder;

                if (Builder.Descriptors.Any(descriptor => descriptor.AllowedChildren != null))
                {
                    AllowedChildren = Builder.Descriptors
                                      .SelectMany(descriptor => descriptor.AllowedChildren)
                                      .Distinct(StringComparer.OrdinalIgnoreCase);
                }
            }
            public TagHelperBlockTracker(TagHelperBlockBuilder builder)
                : base(builder.TagName, isTagHelper: true, depth: 0)
            {
                Builder = builder;

                if (Builder.Descriptors.Any(descriptor => descriptor.AllowedChildren != null))
                {
                    AllowedChildren = Builder.Descriptors
                                      .Where(descriptor => descriptor.AllowedChildren != null)
                                      .SelectMany(descriptor => descriptor.AllowedChildren)
                                      .Distinct(StringComparer.OrdinalIgnoreCase);
                }
            }
예제 #4
0
        public Block TagHelperBlock(
            string tagName,
            TagMode tagMode,
            SourceLocation start,
            Block startTag,
            SyntaxTreeNode[] children,
            Block endTag)
        {
            var builder = new TagHelperBlockBuilder(
                tagName,
                tagMode,
                attributes: new List <KeyValuePair <string, SyntaxTreeNode> >(),
                children: children)
            {
                Start          = start,
                SourceStartTag = startTag,
                SourceEndTag   = endTag
            };

            return(builder.Build());
        }
        private void TrackTagHelperBlock(TagHelperBlockBuilder builder)
        {
            _tagStack.Push(builder);

            TrackBlock(builder);
        }
예제 #6
0
            public TagHelperBlockTracker(TagHelperBlockBuilder builder)
                : base(builder.TagName, isTagHelper: true)
            {
                Builder = builder;

                if (Builder.Descriptors.Any(descriptor => descriptor.AllowedChildren != null))
                {
                    AllowedChildren = Builder.Descriptors
                        .Where(descriptor => descriptor.AllowedChildren != null)
                        .SelectMany(descriptor => descriptor.AllowedChildren)
                        .Distinct(StringComparer.OrdinalIgnoreCase);
                }
            }
예제 #7
0
        private void TrackTagHelperBlock(TagHelperBlockBuilder builder)
        {
            _currentTagHelperTracker = new TagHelperBlockTracker(builder);
            PushTrackerStack(_currentTagHelperTracker);

            TrackBlock(builder);
        }
예제 #8
0
 public TagHelperBlockTracker(TagHelperBlockBuilder builder)
 {
     Builder = builder;
 }
예제 #9
0
        private void TrackTagHelperBlock(TagHelperBlockBuilder builder)
        {
            _trackerStack.Push(new TagHelperBlockTracker(builder));

            TrackBlock(builder);
        }
 public TagHelperBlockTracker(TagHelperBlockBuilder builder)
 {
     Builder = builder;
 }
        private void TrackTagHelperBlock(TagHelperBlockBuilder builder)
        {
            _trackerStack.Push(new TagHelperBlockTracker(builder));

            TrackBlock(builder);
        }