public override int GetHashCode()
 {
     unchecked
     {
         int hashCode = BooleanFalse.GetHashCode();
         hashCode = (hashCode * 397) ^ BooleanTrue.GetHashCode();
         hashCode = (hashCode * 397) ^ Char.GetHashCode();
         hashCode = (hashCode * 397) ^ SByte.GetHashCode();
         hashCode = (hashCode * 397) ^ Byte.GetHashCode();
         hashCode = (hashCode * 397) ^ Int16.GetHashCode();
         hashCode = (hashCode * 397) ^ UInt16.GetHashCode();
         hashCode = (hashCode * 397) ^ Int32;
         hashCode = (hashCode * 397) ^ (int)UInt32;
         hashCode = (hashCode * 397) ^ Int64.GetHashCode();
         hashCode = (hashCode * 397) ^ UInt64.GetHashCode();
         hashCode = (hashCode * 397) ^ Single.GetHashCode();
         hashCode = (hashCode * 397) ^ Double.GetHashCode();
         hashCode = (hashCode * 397) ^ Decimal.GetHashCode();
         hashCode = (hashCode * 397) ^ String.GetHashCode();
         hashCode = (hashCode * 397) ^ DateTime.GetHashCode();
         hashCode = (hashCode * 397) ^ DateTimeOffset.GetHashCode();
         hashCode = (hashCode * 397) ^ Guid.GetHashCode();
         hashCode = (hashCode * 397) ^ NonGenericType.GetHashCode();
         hashCode = (hashCode * 397) ^ GenericTypeDefinition.GetHashCode();
         hashCode = (hashCode * 397) ^ ClosedConstructedGenericType.GetHashCode();
         hashCode = (hashCode * 397) ^ (NullReference != null ? NullReference.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Enum_S8.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_U8.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_S16.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_U16.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_S32.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_U32.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_S64.GetHashCode();
         hashCode = (hashCode * 397) ^ Enum_U64.GetHashCode();
         hashCode = (hashCode * 397) ^ SerializableObject.GetHashCode();
         hashCode = (hashCode * 397) ^ ByteArrayEqualityComparer.GetHashCode(Buffer1);
         hashCode = (hashCode * 397) ^ ByteArrayEqualityComparer.GetHashCode(Buffer2);
         return(hashCode);
     }
 }
示例#2
0
        public IComment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options)
        {
            IReferencable reference = new NullReference();

            if (node.Attributes["cref"] == null)
            {
                return(new See(reference));
            }
            var referenceTarget = Identifier.FromString(node.Attributes["cref"].Value);

            if (referenceTarget is NamespaceIdentifier)
            {
                reference = Namespace.Unresolved((NamespaceIdentifier)referenceTarget);
            }
            else if (referenceTarget is TypeIdentifier)
            {
                reference = DeclaredType.Unresolved((TypeIdentifier)referenceTarget, Namespace.Unresolved(referenceTarget.CloneAsNamespace()));
            }
            else if (referenceTarget is MethodIdentifier)
            {
                reference = Method.Unresolved(
                    (MethodIdentifier)referenceTarget,
                    DeclaredType.Unresolved(
                        referenceTarget.CloneAsType(),
                        Namespace.Unresolved(referenceTarget.CloneAsNamespace())
                        )
                    );
            }
            else if (referenceTarget is PropertyIdentifier)
            {
                reference = Property.Unresolved(
                    (PropertyIdentifier)referenceTarget,
                    DeclaredType.Unresolved(
                        referenceTarget.CloneAsType(),
                        Namespace.Unresolved(referenceTarget.CloneAsNamespace())
                        )
                    );
            }
            else if (referenceTarget is EventIdentifier)
            {
                reference = Event.Unresolved(
                    (EventIdentifier)referenceTarget,
                    DeclaredType.Unresolved(
                        referenceTarget.CloneAsType(),
                        Namespace.Unresolved(referenceTarget.CloneAsNamespace())
                        )
                    );
            }
            else if (referenceTarget is FieldIdentifier)
            {
                reference = Field.Unresolved(
                    (FieldIdentifier)referenceTarget,
                    DeclaredType.Unresolved(
                        referenceTarget.CloneAsType(),
                        Namespace.Unresolved(referenceTarget.CloneAsNamespace())
                        )
                    );
            }

            return(new See(reference));
        }
 public void ShouldGenerateStringForNullReferenceObject()
 {
     var value = new NullReference();
     Assert.That(value.ToString(), Is.EqualTo("Value: <null>"));
 }
 protected internal Expression VisitNullReference(NullReference nullReference)
 {
     return(nullReference.Update(nullReference.Expression));
 }
 public void ShouldGenerateHashCodeForNullReferenceObject()
 {
     var value = new NullReference();
     Assert.That(value.GetHashCode(), Is.EqualTo(HashCode.FromOneNull()));
 }