pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:3902:    if ((t->type != PIKE_T_OBJECT) || !t->cdr) return NULL;    p = id_to_program(CDR_TO_INT(t));    if (!p || (p->flags & PROGRAM_NEEDS_PARENT) ||    (low_find_lfun(p, LFUN__DESERIALIZE) == -1)) return NULL;    return p;    }       DEFAULT_CMOD_STORAGE void f_deserialize(INT32 args);       /*! @decl void _deserialize_variable(function(string, type, @ -  *! function(mixed:void): mixed) deserializer @ +  *! function(mixed:void): void) deserializer @    *! string symbol, type symbol_type, @    *! function(mixed:void) setter)    *!    *! Default deserialization function for variables.    *!    *! @param deserializer    *! Function to be called in turn.    *!    *! @param symbol    *! Variable name.
pike.git/src/builtin.cmod:3958:    *! @item    *! Is likely to throw errors if @tt{p()@} requires arguments.    *! @endul    *!    *! These issues can all be solved by overloading this function.    *!    *! @seealso    *! @[_deserialize()], @[_serialize_variable()]    */    PIKEFUN void _deserialize_variable(function(string, type, -  function(mixed:void): mixed) +  function(mixed:void): void)    deserializer, string symbol,    type symbol_type,    function(mixed:void) setter)    flags ID_PROTECTED;    rawtype tFunc(tFunc(tStr tType(tMix) tFunc(tMix, tVoid), tVoid)    tStr tType(tMix) tFunc(tMix, tVoid), tVoid);    {    struct program *p = find_type(symbol_type,    find_program_from_object_type_cb);    if (p) {
pike.git/src/builtin.cmod:3985:    f_deserialize(2);    return;    }    f_call_function(args);    pop_stack();    push_int(0);    }       /*! @decl void _deserialize(object o, @    *! function(string, type, @ -  *! function(mixed:void): mixed) deserializer) +  *! function(mixed:void): void) deserializer)    *!    *! Dispatch function for deserialization.    *!    *! @param o    *! Object to serialize. Always a context of the current object.    *!    *! @param deserializer    *! Function to typically be called once for every variable    *! in the inheriting class.    *!
pike.git/src/builtin.cmod:4008:    *!    *! @note    *! The symbols will be listed in the order they were defined    *! in the class.    *!    *! @note    *! This function is typically called via @[Serializer.deserialize()].    */    PIKEFUN void _deserialize(object o,    function(string, type, -  function(mixed:void): mixed) deserializer) +  function(mixed:void): void) deserializer)    flags ID_PROTECTED;    rawtype tFunc(tObj tFunc(tStr tType(tMix) tFunc(tMix, tVoid), tVoid), tVoid);    {    if (o != Pike_fp->current_object) {    SIMPLE_BAD_ARG_ERROR("_serialize", 1, "this");    }    low_serialize(Pike_sp[-args].subtype, deserializer, 1,    f_Serializable_cq__deserialize_variable_fun_num);    pop_n_elems(args);    push_int(0);