コード例 #1
0
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;
}
コード例 #2
0
ファイル: NumericType.c プロジェクト: gitpan/KinoSearch
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);
}
コード例 #3
0
ファイル: NumericType.c プロジェクト: gitpan/KinoSearch
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);
}
コード例 #4
0
ファイル: HitQueue.c プロジェクト: gitpan/KinoSearch
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);
}
コード例 #5
0
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);
}
コード例 #6
0
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;
}