Ejemplo n.º 1
0
        public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
        {
            if (node.TagHelperAttributeInfo.Bound)
            {
                var result = CreateSemanticRange(node.Name, SyntaxKind.MarkupTagHelperAttribute);
                AddNode(result);
            }

            base.VisitMarkupTagHelperAttribute(node);
        }
            public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
            {
                if (node.TagHelperAttributeInfo.Bound)
                {
                    var result = new SyntaxResult(node.Name, SyntaxKind.MarkupTagHelperAttribute, _razorCodeDocument);
                    _syntaxNodes.Add(result);
                }

                base.VisitMarkupTagHelperAttribute(node);
            }
Ejemplo n.º 3
0
        public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
        {
            if (node.TagHelperAttributeInfo.Bound)
            {
                AddSemanticRange(node.Name, SyntaxKind.MarkupTagHelperAttribute);
            }
            else
            {
                AddSemanticRange(node.Name, SyntaxKind.MarkupAttributeBlock);
            }
            AddSemanticRange(node.EqualsToken);

            base.VisitMarkupTagHelperAttribute(node);
        }
Ejemplo n.º 4
0
            public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
            {
                var element               = node.FirstAncestorOrSelf <MarkupTagHelperElementSyntax>();
                var descriptors           = element.TagHelperInfo.BindingResult.Descriptors;
                var attributeName         = node.Name.GetContent();
                var attributeValueNode    = node.Value;
                var associatedDescriptors = descriptors.Where(descriptor =>
                                                              descriptor.BoundAttributes.Any(attributeDescriptor => TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, attributeDescriptor)));

                if (associatedDescriptors.Any() && _renderedBoundAttributeNames.Add(attributeName))
                {
                    foreach (var associatedDescriptor in associatedDescriptors)
                    {
                        var associatedAttributeDescriptor = associatedDescriptor.BoundAttributes.First(a =>
                        {
                            return(TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, a));
                        });

                        var setTagHelperProperty = new TagHelperPropertyIntermediateNode()
                        {
                            AttributeName      = attributeName,
                            BoundAttribute     = associatedAttributeDescriptor,
                            TagHelper          = associatedDescriptor,
                            AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure,
                            Source             = BuildSourceSpanFromNode(attributeValueNode),
                            IsIndexerNameMatch = TagHelperMatchingConventions.SatisfiesBoundAttributeIndexer(attributeName, associatedAttributeDescriptor),
                        };

                        _builder.Push(setTagHelperProperty);
                        VisitAttributeValue(attributeValueNode);
                        _builder.Pop();
                    }
                }
                else
                {
                    var addHtmlAttribute = new TagHelperHtmlAttributeIntermediateNode()
                    {
                        AttributeName      = attributeName,
                        AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure
                    };

                    _builder.Push(addHtmlAttribute);
                    VisitAttributeValue(attributeValueNode);
                    _builder.Pop();
                }
            }
Ejemplo n.º 5
0
        public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
        {
            Visit(node.NamePrefix);
            if (node.TagHelperAttributeInfo.Bound)
            {
                AddSemanticRange(node.Name, RazorSemanticTokensLegend.RazorTagHelperAttribute);
            }
            else
            {
                AddSemanticRange(node.Name, RazorSemanticTokensLegend.MarkupAttribute);
            }
            Visit(node.NameSuffix);

            AddSemanticRange(node.EqualsToken, RazorSemanticTokensLegend.MarkupOperator);

            Visit(node.ValuePrefix);
            Visit(node.Value);
            Visit(node.ValueSuffix);
        }
Ejemplo n.º 6
0
 public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node)
 {
     Visit(node.Value);
 }