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); }
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); }
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(); } }
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); }
public override void VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node) { Visit(node.Value); }