Skip to content

Commit 38e1b59

Browse files
committed
Elided the TYPE() and msgdef checks by using CLASS_OF.
1 parent d69f482 commit 38e1b59

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

ruby/ext/google/protobuf_c/message.c

+3-7
Original file line numberDiff line numberDiff line change
@@ -697,17 +697,13 @@ bool Message_Equal(const upb_msg *m1, const upb_msg *m2, const upb_msgdef *m) {
697697
* field is of a primitive type).
698698
*/
699699
static VALUE Message_eq(VALUE _self, VALUE _other) {
700-
if (TYPE(_self) != TYPE(_other)) {
701-
return Qfalse;
702-
}
700+
if (CLASS_OF(_self) != CLASS_OF(_other)) return Qfalse;
703701

704702
Message* self = ruby_to_Message(_self);
705703
Message* other = ruby_to_Message(_other);
704+
assert(self->msgdef == other->msgdef);
706705

707-
return self->msgdef == other->msgdef &&
708-
Message_Equal(self->msg, other->msg, self->msgdef)
709-
? Qtrue
710-
: Qfalse;
706+
return Message_Equal(self->msg, other->msg, self->msgdef) ? Qtrue : Qfalse;
711707
}
712708

713709
uint64_t Message_Hash(const upb_msg* msg, const upb_msgdef* m, uint64_t seed) {

0 commit comments

Comments
 (0)