pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: program.c,v 1.537 2003/11/19 20:23:03 grubba Exp $ + || $Id: program.c,v 1.538 2003/11/20 13:54:32 grubba Exp $   */      #include "global.h" - RCSID("$Id: program.c,v 1.537 2003/11/19 20:23:03 grubba Exp $"); + RCSID("$Id: program.c,v 1.538 2003/11/20 13:54:32 grubba Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "language.h"   #include "lex.h"   #include "pike_macros.h"   #include "fsort.h"
pike.git/src/program.c:362:    *! @item    *! If an object A contains an @[lfun::destroy] and an object B does    *! not, then A is destructed before B.    *! @item    *! If A references B single way, then A is destructed before B.    *! @item    *! If A and B are in a cycle, and there is a reference somewhere    *! from B to A that is weaker than any reference from A to B, then    *! A is destructed before B.    *! @item -  *! Weak references (e.g. set with @[set_weak_flag]) are considered +  *! Weak references (e.g. set with @[predef::set_weak_flag()]) are considered    *! weaker than normal references, and both are considered weaker    *! than strong references.    *! @item    *! Strong references are those from objects to the objects of their    *! lexically surrounding classes. There can never be a cycle    *! consisting only of strong references. (This means the gc never    *! destructs a parent object before all children have been    *! destructed.)    *! @endul    *!
pike.git/src/program.c:716:      /*! @decl int(0..1) lfun::`==(mixed arg)    *!    *! Equality test callback.    *!    *! @note    *! If this is implemented it might be necessary to implement    *! @[lfun::__hash] too. Otherwise mappings might hold several    *! objects as indices which are duplicates according to this    *! function. Various other functions that use hashing also might -  *! not work correctly, e.g. @[Array.uniq]. +  *! not work correctly, e.g. @[predef::Array.uniq].    *!    *! @note    *! It's assumed that this function is side-effect free.    *!    *! @seealso    *! @[predef::`==()], @[lfun::__hash]    */      /*! @decl int(0..1) lfun::`<(mixed arg)    *!
pike.git/src/program.c:836:    *! Arrow index assignment callback.    *!    *! @seealso    *! @[predef::`->=()], @[lfun::`[]=()]    */      /*! @decl int lfun::_sizeof()    *!    *! Size query callback.    *! -  *! Called by @[sizeof()] to determine the number of elements +  *! Called by @[predef::sizeof()] to determine the number of elements    *! in an object. If this function is not present, the number    *! of public symbols in the object will be returned.    *!    *! @returns    *! Expected to return the number of valid indices in the object.    *!    *! @note    *! It's assumed that this function is side-effect free.    *!    *! @seealso
pike.git/src/program.c:1038:    */      /*! @decl mixed lfun::_m_delete(mixed arg)    *!    *! Delete index callback.    *!    *! @seealso    *! @[predef::m_delete()]    */    - /*! @decl Iterator lfun::_get_iterator() + /*! @decl predef::Iterator lfun::_get_iterator()    *!    *! Iterator creation callback.    *! -  *! The returned @[Iterator] instance works as a cursor that +  *! The returned @[predef::Iterator] instance works as a cursor that    *! references a specific item contained (in some arbitrary sense)    *! in this one.    *!    *! @note    *! It's assumed that this function is side-effect free.    *!    *! @seealso -  *! @[Iterator], @[get_iterator], @[predef::foreach()] +  *! @[predef::Iterator], @[predef::get_iterator], @[predef::foreach()]    */      /*! @decl mixed lfun::_search(mixed needle, mixed|void start)    *!    *! Search callback.    *!    *! @seealso    *! @[predef::search()]    */