diff options
Diffstat (limited to 'src/System.Web.Mvc/ExpressionUtil/DefaultExpressionFingerprint.cs')
-rw-r--r-- | src/System.Web.Mvc/ExpressionUtil/DefaultExpressionFingerprint.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/System.Web.Mvc/ExpressionUtil/DefaultExpressionFingerprint.cs b/src/System.Web.Mvc/ExpressionUtil/DefaultExpressionFingerprint.cs new file mode 100644 index 00000000..e8503774 --- /dev/null +++ b/src/System.Web.Mvc/ExpressionUtil/DefaultExpressionFingerprint.cs @@ -0,0 +1,28 @@ +using System.Diagnostics.CodeAnalysis; +using System.Linq.Expressions; + +#pragma warning disable 659 // overrides AddToHashCodeCombiner instead + +namespace System.Web.Mvc.ExpressionUtil +{ + // DefaultExpression fingerprint class + // Expression of form default(T) + + [SuppressMessage("Microsoft.Usage", "CA2218:OverrideGetHashCodeOnOverridingEquals", Justification = "Overrides AddToHashCodeCombiner() instead.")] + internal sealed class DefaultExpressionFingerprint : ExpressionFingerprint + { + public DefaultExpressionFingerprint(ExpressionType nodeType, Type type) + : base(nodeType, type) + { + // There are no properties on DefaultExpression that are worth including in + // the fingerprint. + } + + public override bool Equals(object obj) + { + DefaultExpressionFingerprint other = obj as DefaultExpressionFingerprint; + return (other != null) + && this.Equals(other); + } + } +} |