pike.git
/
src
/
program.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.c:171:
"_equal", "_m_delete", "_get_iterator", "`[..]", /* NOTE: After this point there are only fake lfuns. */ "_search", "_types", "_serialize", "_deserialize", "_size_object",
+
"_random",
}; struct pike_string *lfun_strings[NELEM(lfun_names)]; static struct mapping *lfun_ids; /* mapping(string:type) */ static struct mapping *lfun_types; static const char *const raw_lfun_types[] = {
pike.git/src/program.c:232:
tFuncV(tMix,tVoid,tInt), /* "_equal", */ tFuncV(tZero,tVoid,tMix), /* "_m_delete", */ tFuncV(tNone,tVoid,tObj), /* "_get_iterator", */ tFuncV(tZero tRangeBound tZero tRangeBound, tVoid, tMix), /* "`[..]" */ /* NOTE: After this point there are only fake lfuns. */ tFuncV(tZero tOr(tZero, tVoid), tVoid, tMix), /* "_search", */ tFuncV(tNone,tVoid,tArray), /* "_types", */ tFuncV(tObj tZero, tVoid, tVoid), /* "_serialize", */ tFuncV(tObj tZero, tVoid, tVoid), /* "_deserialize", */ tFuncV(tZero, tVoid, tInt), /* "_size_object", */
+
tFuncV(tNone, tVoid, tMix), /* "_random", */
}; /* These two are not true LFUNs! */ static struct pike_type *lfun_getter_type_string = NULL; static struct pike_type *lfun_setter_type_string = NULL; /*! @namespace lfun:: *! *! Callback functions used to overload various builtin functions. *!
pike.git/src/program.c:1278:
*! *! @note *! A default implementation of @[lfun::_serialize()] and *! @[lfun::_deserialize()] is available in @[Serializer.Serializable]. *! *! @seealso *! @[lfun::_serialize()], @[Serializer.deserialize()], *! @[Serializer.Serializable()->_deserialize()] */
+
/*! @decl mixed lfun::_random()
+
*! Called by @[random()]. Typical use is when the object implements
+
*! a ADT, when a call to this lfun should return a random member of
+
*! the ADT or range implied by the ADT.
+
*!
+
*! @seealso
+
*! @[predef::random()]
+
*/
+
/*! @decl mixed lfun::`symbol() *! @decl mixed lfun::`->symbol() *! *! Variable retrieval callback (aka "getter"). *! *! @note *! Note that the @expr{symbol@} in the name can be any symbol. *! *! @note *! This is not a true LFUN, since it is even more low level!