internal override bool Equals(TypeSymbol t2, TypeCompareKind comparison) { if (ReferenceEquals(this, t2)) { return(true); } var other = t2 as TopLevel; return((object)other != null && string.Equals(MetadataName, other.MetadataName, StringComparison.Ordinal) && arity == other.arity && string.Equals(_namespaceName, other.NamespaceName, StringComparison.Ordinal) && _containingModule.Equals(other._containingModule)); }
internal override bool Equals(TypeSymbol t2, TypeCompareKind comparison) { if (ReferenceEquals(this, t2)) { return(true); } // if ignoring dynamic, then treat dynamic the same as the type 'object' if ((comparison & TypeCompareKind.IgnoreDynamic) != 0 && (object)t2 != null && t2.TypeKind == TypeKind.Dynamic && this.SpecialType == StarkPlatform.Compiler.SpecialType.System_Object) { return(true); } var other = t2 as TopLevel; return((object)other != null && string.Equals(MetadataName, other.MetadataName, StringComparison.Ordinal) && arity == other.arity && string.Equals(_namespaceName, other.NamespaceName, StringComparison.Ordinal) && _containingModule.Equals(other._containingModule)); }