Hash* Normalizer_dump(Normalizer *self) { Normalizer_Dump_t super_dump = SUPER_METHOD_PTR(NORMALIZER, Lucy_Normalizer_Dump); Hash *dump = super_dump(self); int options = self->options; CharBuf *form = options & UTF8PROC_COMPOSE ? options & UTF8PROC_COMPAT ? CB_new_from_trusted_utf8("NFKC", 4) : CB_new_from_trusted_utf8("NFC", 3) : options & UTF8PROC_COMPAT ? CB_new_from_trusted_utf8("NFKD", 4) : CB_new_from_trusted_utf8("NFD", 3); Hash_Store_Str(dump, "normalization_form", 18, (Obj*)form); BoolNum *case_fold = Bool_singleton(options & UTF8PROC_CASEFOLD); Hash_Store_Str(dump, "case_fold", 9, (Obj*)case_fold); BoolNum *strip_accents = Bool_singleton(options & UTF8PROC_STRIPMARK); Hash_Store_Str(dump, "strip_accents", 13, (Obj*)strip_accents); return dump; }
Obj* NoMatchQuery_dump(NoMatchQuery *self) { NoMatchQuery_Dump_t super_dump = SUPER_METHOD_PTR(NOMATCHQUERY, Lucy_NoMatchQuery_Dump); Hash *dump = (Hash*)CERTIFY(super_dump(self), HASH); Hash_Store_Str(dump, "fails_to_match", 14, (Obj*)Bool_singleton(self->fails_to_match)); return (Obj*)dump; }
Obj* RangeQuery_Dump_IMP(RangeQuery *self) { RangeQueryIVARS *ivars = RangeQuery_IVARS(self); RangeQuery_Dump_t super_dump = SUPER_METHOD_PTR(RANGEQUERY, LUCY_RangeQuery_Dump); Hash *dump = (Hash*)CERTIFY(super_dump(self), HASH); Hash_Store_Utf8(dump, "field", 5, Freezer_dump((Obj*)ivars->field)); if (ivars->lower_term) { Hash_Store_Utf8(dump, "lower_term", 10, Freezer_dump((Obj*)ivars->lower_term)); } if (ivars->upper_term) { Hash_Store_Utf8(dump, "upper_term", 10, Freezer_dump((Obj*)ivars->upper_term)); } Hash_Store_Utf8(dump, "include_lower", 13, (Obj*)Bool_singleton(ivars->include_lower)); Hash_Store_Utf8(dump, "include_upper", 13, (Obj*)Bool_singleton(ivars->include_upper)); return (Obj*)dump; }