mirror of
https://github.com/fergalmoran/EFCore.NamingConventions.git
synced 2025-12-22 09:38:21 +00:00
107 lines
2.8 KiB
C#
107 lines
2.8 KiB
C#
using System;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace JetBrains.Annotations;
|
|
|
|
[AttributeUsage(
|
|
AttributeTargets.Method | AttributeTargets.Parameter |
|
|
AttributeTargets.Property | AttributeTargets.Delegate |
|
|
AttributeTargets.Field)]
|
|
internal sealed class NotNullAttribute : Attribute
|
|
{
|
|
}
|
|
|
|
[AttributeUsage(
|
|
AttributeTargets.Method | AttributeTargets.Parameter |
|
|
AttributeTargets.Property | AttributeTargets.Delegate |
|
|
AttributeTargets.Field)]
|
|
internal sealed class CanBeNullAttribute : Attribute
|
|
{
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Parameter)]
|
|
internal sealed class InvokerParameterNameAttribute : Attribute
|
|
{
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Parameter)]
|
|
internal sealed class NoEnumerationAttribute : Attribute
|
|
{
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
|
|
internal sealed class ContractAnnotationAttribute : Attribute
|
|
{
|
|
public string Contract { get; }
|
|
|
|
public bool ForceFullStates { get; }
|
|
|
|
public ContractAnnotationAttribute([NotNull] string contract)
|
|
: this(contract, false)
|
|
{
|
|
}
|
|
|
|
public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates)
|
|
{
|
|
Contract = contract;
|
|
ForceFullStates = forceFullStates;
|
|
}
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.All)]
|
|
internal sealed class UsedImplicitlyAttribute : Attribute
|
|
{
|
|
public UsedImplicitlyAttribute()
|
|
: this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default)
|
|
{
|
|
}
|
|
|
|
public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags)
|
|
: this(useKindFlags, ImplicitUseTargetFlags.Default)
|
|
{
|
|
}
|
|
|
|
public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags)
|
|
: this(ImplicitUseKindFlags.Default, targetFlags)
|
|
{
|
|
}
|
|
|
|
public UsedImplicitlyAttribute(
|
|
ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags)
|
|
{
|
|
UseKindFlags = useKindFlags;
|
|
TargetFlags = targetFlags;
|
|
}
|
|
|
|
public ImplicitUseKindFlags UseKindFlags { get; }
|
|
public ImplicitUseTargetFlags TargetFlags { get; }
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Delegate)]
|
|
internal sealed class StringFormatMethodAttribute : Attribute
|
|
{
|
|
public StringFormatMethodAttribute([NotNull] string formatParameterName)
|
|
=> FormatParameterName = formatParameterName;
|
|
|
|
[NotNull]
|
|
public string FormatParameterName { get; }
|
|
}
|
|
|
|
[Flags]
|
|
internal enum ImplicitUseKindFlags
|
|
{
|
|
Default = Access | Assign | InstantiatedWithFixedConstructorSignature,
|
|
Access = 1,
|
|
Assign = 2,
|
|
InstantiatedWithFixedConstructorSignature = 4,
|
|
InstantiatedNoFixedConstructorSignature = 8
|
|
}
|
|
|
|
[Flags]
|
|
internal enum ImplicitUseTargetFlags
|
|
{
|
|
Default = Itself,
|
|
Itself = 1,
|
|
Members = 2,
|
|
WithMembers = Itself | Members
|
|
} |