bool_t StringType_equals(StringType *self, Obj *other) { StringType *evil_twin = (StringType*)other; if (evil_twin == self) return true; if (!FType_equals((FieldType*)self, other)) return false; return true; }
bool_t FullTextType_equals(FullTextType *self, Obj *other) { FullTextType *twin = (FullTextType*)other; if (twin == self) { return true; } if (!Obj_Is_A(other, FULLTEXTTYPE)) { return false; } if (!FType_equals((FieldType*)self, other)) { return false; } if (!!self->sortable != !!twin->sortable) { return false; } if (!!self->highlightable != !!twin->highlightable) { return false; } if (!Analyzer_Equals(self->analyzer, (Obj*)twin->analyzer)) { return false; } return true; }