private void getTypeAttributes <T>(CodeItemBase <T> type, EntityDeclaration decl) { if (decl.Attributes.Count == 0) { return; } foreach (var typeAttrib in decl.Attributes) { foreach (var attribute in typeAttrib.Attributes) { var codeAttrib = new CodeAttribute() { Name = signatureFrom(attribute.Type) }; if (!codeAttrib.Name.EndsWith("Attribute")) { codeAttrib.Name += "Attribute"; } foreach (var arg in attribute.Arguments) { codeAttrib.AddParameter(arg.ToString().Replace("\"", "")); } type.AddAttribute(codeAttrib); } } }
private T addMemberInfo <T>(CodeItemBase <T> type, EntityDeclaration decl) { getTypeAttributes(type, decl); return(type.AddModifiers(getTypeModifiers(decl))); }