|
2 | 2 |
|
3 | 3 | namespace TestStack.BDDfy.Annotations |
4 | 4 | { |
| 5 | + /// <summary> |
| 6 | + /// Should be used on attributes and causes ReSharper |
| 7 | + /// to not mark symbols marked with such attributes as unused |
| 8 | + /// (as well as by other usage inspections) |
| 9 | + /// </summary> |
| 10 | + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] |
| 11 | + public sealed class MeansImplicitUseAttribute( |
| 12 | + ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) : Attribute |
| 13 | + { |
| 14 | + public MeansImplicitUseAttribute() |
| 15 | + : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } |
| 16 | + |
| 17 | + public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags) |
| 18 | + : this(useKindFlags, ImplicitUseTargetFlags.Default) { } |
| 19 | + |
| 20 | + public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags) |
| 21 | + : this(ImplicitUseKindFlags.Default, targetFlags) { } |
| 22 | + |
| 23 | + [UsedImplicitly] public ImplicitUseKindFlags UseKindFlags { get; private set; } = useKindFlags; |
| 24 | + [UsedImplicitly] public ImplicitUseTargetFlags TargetFlags { get; private set; } = targetFlags; |
| 25 | + } |
| 26 | + |
| 27 | + |
5 | 28 | /// <summary> |
6 | 29 | /// Indicates that the marked symbol is used implicitly |
7 | 30 | /// (e.g. via reflection, in external library), so this symbol |
@@ -44,7 +67,7 @@ public enum ImplicitUseKindFlags |
44 | 67 | /// <summary> |
45 | 68 | /// Specify what is considered used implicitly |
46 | 69 | /// or <see cref="UsedImplicitlyAttribute"/> |
47 | | - /// </summary> |
| 70 | + /// </summary>Ex |
48 | 71 | [Flags] |
49 | 72 | public enum ImplicitUseTargetFlags |
50 | 73 | { |
|
0 commit comments