private static AttributeSyntax GetAttributeSyntax(AttributeGenerationData data)
        {
            var syntax = SyntaxFactory.Attribute(NameSyntaxUtility.GetNameSyntax(data.m_AttributeName));

            if (data.m_AttributeArguments != null && data.m_AttributeArguments.Count > 0)
            {
                syntax = syntax.WithArgumentList(GetAttributeArgumentListSyntax(data.m_AttributeArguments));
            }

            return(syntax);
        }
示例#2
0
        // TODO: Extract Attribute Arguments
        private static List <AttributeGenerationData> ExtractAttributes(AttributeListSyntax[] attributeLists)
        {
            var dataList = new List <AttributeGenerationData>();

            for (int i = 0; i < attributeLists.Length; i++)
            {
                var attributes = attributeLists[i].Attributes.ToArray();

                for (int j = 0; j < attributes.Length; j++)
                {
                    var attributeGenerationData = new AttributeGenerationData();
                    attributeGenerationData.m_AttributeName = attributes[j].Name.ToString();

                    dataList.Add(attributeGenerationData);
                }
            }

            return(dataList);
        }
 private static AttributeListSyntax GetAttributeListSyntax(AttributeGenerationData data)
 {
     return(SyntaxFactory.AttributeList(SyntaxFactory.SingletonSeparatedList <AttributeSyntax>(GetAttributeSyntax(data))));
 }