public static IEnumerable <AttributeData> DeclaredAndInheritedAttributes(this IMethodSymbol @this) { if (@this == null) { throw new ArgumentNullException(nameof(@this)); } var symbols = @this.OverriddenAndImplementedInterfaceMembers(); return(@this .Concat(@this.OverriddenAndImplementedInterfaceMembers()) .SelectMany(s => s.GetAttributes() .Concat(s.GetReturnTypeAttributes()))); }