static func expansion<D, M, C>(of node: AttributeSyntax, attachedTo declaration: D, providingAttributesFor member: M, in context: C) throws -> [AttributeSyntax] where D : DeclGroupSyntax, M : DeclSyntaxProtocol, C : MacroExpansionContext
static func expansion<D, T, C>(of node: AttributeSyntax, attachedTo declaration: D, providingExtensionsOf type: T, conformingTo protocols: [TypeSyntax], in context: C) throws -> [ExtensionDeclSyntax] where D : DeclGroupSyntax, T : TypeSyntaxProtocol, C : MacroExpansionContext