Obj* Tokenizer_dump(Tokenizer *self) { Tokenizer_dump_t super_dump = (Tokenizer_dump_t)SUPER_METHOD(&TOKENIZER, Tokenizer, Dump); Hash *dump = (Hash*)ASSERT_IS_A(super_dump(self), HASH); Hash_Store_Str(dump, "pattern", 7, Obj_Dump(self->pattern)); return (Obj*)dump; }
bool_t Int64Type_equals(Int64Type *self, Obj *other) { if (self == (Int64Type*)other) { return true; } if (!other) { return false; } if (!Obj_Is_A(other, INT64TYPE)) { return false; } Int64Type_equals_t super_equals = (Int64Type_equals_t) SUPER_METHOD(INT64TYPE, Int64Type, Equals); return super_equals(self, other); }
bool_t Float32Type_equals(Float32Type *self, Obj *other) { if (self == (Float32Type*)other) { return true; } if (!other) { return false; } if (!Obj_Is_A(other, FLOAT32TYPE)) { return false; } Float32Type_equals_t super_equals = (Float32Type_equals_t) SUPER_METHOD(FLOAT32TYPE, Float32Type, Equals); return super_equals(self, other); }
Obj* HitQ_jostle(HitQueue *self, Obj *element) { MatchDoc *match_doc = (MatchDoc*)CERTIFY(element, MATCHDOC); HitQ_jostle_t super_jostle = (HitQ_jostle_t)SUPER_METHOD(HITQUEUE, HitQ, Jostle); if (self->need_values) { CERTIFY(match_doc->values, VARRAY); } return super_jostle(self, element); }
Tokenizer* Tokenizer_load(Tokenizer *self, Obj *dump) { Hash *source = (Hash*)ASSERT_IS_A(dump, HASH); Tokenizer_load_t super_load = (Tokenizer_load_t)SUPER_METHOD(&TOKENIZER, Tokenizer, Load); Tokenizer *loaded = super_load(self, dump); CharBuf *pattern = (CharBuf*)ASSERT_IS_A(Hash_Fetch_Str(source, "pattern", 7), CHARBUF); return Tokenizer_init(loaded, pattern); }
bool_t Tokenizer_dump_equals(Tokenizer *self, Obj *dump) { Tokenizer_dump_equals_t super_dump_equals = (Tokenizer_dump_equals_t) SUPER_METHOD(&TOKENIZER, Tokenizer, Dump_Equals); if (!super_dump_equals(self, dump)) { return false; } else { Hash *source = (Hash*)ASSERT_IS_A(dump, HASH); CharBuf *pattern = (CharBuf*)Hash_Fetch_Str(source, "pattern", 7); if (!pattern) return false; if (!CB_Equals(self->pattern, (Obj*)pattern)) return false; } return true; }