public ComponentAttributeIntermediateNode(TagHelperPropertyIntermediateNode propertyNode)
        {
            if (propertyNode == null)
            {
                throw new ArgumentNullException(nameof(propertyNode));
            }

            var attributeName = propertyNode.AttributeName;

            AttributeName      = attributeName;
            AttributeStructure = propertyNode.AttributeStructure;
            BoundAttribute     = propertyNode.BoundAttribute;
            PropertyName       = propertyNode.BoundAttribute.GetPropertyName();
            Source             = propertyNode.Source;
            TagHelper          = propertyNode.TagHelper;
            TypeName           = propertyNode.BoundAttribute.IsWeaklyTyped() ? null : propertyNode.BoundAttribute.TypeName;

            for (var i = 0; i < propertyNode.Children.Count; i++)
            {
                Children.Add(propertyNode.Children[i]);
            }

            for (var i = 0; i < propertyNode.Diagnostics.Count; i++)
            {
                Diagnostics.Add(propertyNode.Diagnostics[i]);
            }
        }
Esempio n. 2
0
        public ComponentAttributeIntermediateNode(TagHelperPropertyIntermediateNode propertyNode)
        {
            if (propertyNode == null)
            {
                throw new ArgumentNullException(nameof(propertyNode));
            }

            var attributeName = propertyNode.AttributeName;

            if (propertyNode.IsDirectiveAttribute && attributeName.StartsWith("@"))
            {
                // Directive attributes start with a "@" but we don't want that to be included in the output attribute name.
                // E.g, <input @onclick="..." /> should result in the creation of 'onclick' attribute.
                attributeName = attributeName.Substring(1);
            }

            AttributeName      = attributeName;
            AttributeStructure = propertyNode.AttributeStructure;
            BoundAttribute     = propertyNode.BoundAttribute;
            PropertyName       = propertyNode.BoundAttribute.GetPropertyName();
            Source             = propertyNode.Source;
            TagHelper          = propertyNode.TagHelper;
            TypeName           = propertyNode.BoundAttribute.IsWeaklyTyped() ? null : propertyNode.BoundAttribute.TypeName;

            for (var i = 0; i < propertyNode.Children.Count; i++)
            {
                Children.Add(propertyNode.Children[i]);
            }

            for (var i = 0; i < propertyNode.Diagnostics.Count; i++)
            {
                Diagnostics.Add(propertyNode.Diagnostics[i]);
            }
        }
        public ComponentTypeArgumentIntermediateNode(TagHelperPropertyIntermediateNode propertyNode)
        {
            if (propertyNode == null)
            {
                throw new ArgumentNullException(nameof(propertyNode));
            }

            BoundAttribute = propertyNode.BoundAttribute;
            Source         = propertyNode.Source;
            TagHelper      = propertyNode.TagHelper;

            for (var i = 0; i < propertyNode.Children.Count; i++)
            {
                Children.Add(propertyNode.Children[i]);
            }

            for (var i = 0; i < propertyNode.Diagnostics.Count; i++)
            {
                Diagnostics.Add(propertyNode.Diagnostics[i]);
            }
        }