public static bool IsEqual(object self, object other) { // Comparing object IDs is (potentially) expensive because it forces us // to generate InstanceData and a new object ID if (self == other) { return(true); } if (RubyUtils.IsRubyValueType(self) && RubyUtils.IsRubyValueType(other)) { return(object.Equals(self, other)); } return(false); }
protected override bool HasIdentity(object data) { return(RubyUtils.IsRubyValueType(data) || base.HasIdentity(data)); }
protected override bool IgnoreAliases(object data) { return(RubyUtils.IsRubyValueType(data) || base.IgnoreAliases(data)); }