static FieldType* S_load_type(Class *klass, Obj *type_dump) { FieldType *dummy = (FieldType*)Class_Make_Obj(klass); FieldType *loaded = (FieldType*)FType_Load(dummy, type_dump); DECREF(dummy); return loaded; }
static Obj* S_load_via_load_method(Class *klass, Obj *dump) { Obj *dummy = Class_Make_Obj(klass); Obj *loaded = NULL; if (Obj_is_a(dummy, ANALYZER)) { loaded = Analyzer_Load((Analyzer*)dummy, dump); } else if (Obj_is_a(dummy, DOC)) { loaded = (Obj*)Doc_Load((Doc*)dummy, dump); } else if (Obj_is_a(dummy, SIMILARITY)) { loaded = (Obj*)Sim_Load((Similarity*)dummy, dump); } else if (Obj_is_a(dummy, FIELDTYPE)) { loaded = FType_Load((FieldType*)dummy, dump); } else if (Obj_is_a(dummy, SCHEMA)) { loaded = (Obj*)Schema_Load((Schema*)dummy, dump); } else if (Obj_is_a(dummy, QUERY)) { loaded = Query_Load((Query*)dummy, dump); } else { DECREF(dummy); THROW(ERR, "Don't know how to load '%o'", Class_Get_Name(klass)); } DECREF(dummy); return loaded; }