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.572 2004/10/22 23:24:49 nilsson Exp $ + || $Id: program.c,v 1.573 2004/10/30 11:38:27 mast Exp $   */      #include "global.h"   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "lex.h"
pike.git/src/program.c:141:    "``>>",    "``*",    "``/",    "``%",    "`+=",    "_is_type",    "_sprintf",    "_equal",    "_m_delete",    "_get_iterator", +  "`[..]",    /* NOTE: After this point there are only fake lfuns. */    "_search",   };      struct pike_string *lfun_strings[NELEM(lfun_names)];      static struct mapping *lfun_ids;      /* mapping(string:type) */   static struct mapping *lfun_types;
pike.git/src/program.c:197:    tFuncV(tZero,tVoid,tMix), /* "``>>", */    tFuncV(tNone,tZero,tMix), /* "``*", */    tFuncV(tNone,tZero,tMix), /* "``/", */    tFuncV(tNone,tZero,tMix), /* "``%", */    tFuncV(tZero,tZero,tMix), /* "`+=", */    tFuncV(tStr,tVoid,tInt), /* "_is_type", */    tFuncV(tInt tOr(tMap(tStr,tInt),tVoid),tVoid,tStr), /* "_sprintf", */    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", */   };      /*! @namespace lfun::    *!    *! Callback functions used to overload various builtin functions.    *!    *! The functions can be grouped into a few sets:    *!
pike.git/src/program.c:792:    *! Currently casting between object types is a noop.    *!    *! @note    *! If the returned value is not deemed to be of the requested type    *! a runtime error may be thrown.    *!    *! @note    *! It's assumed that this function is side-effect free.    */    + /*! @decl mixed lfun::`[..](zero low, int low_bound_type, zero high, int high_bound_type) +  *! +  *! Subrange callback. +  *! +  *! @note +  *! It's assumed that this function is side-effect free. +  *! +  *! @seealso +  *! @[predef::`[..]] +  */ +    /*! @decl mixed lfun::`[](zero arg1, zero|void arg2)    *! -  *! Index/subrange callback. +  *! Indexing callback.    *! -  +  *! For compatibility, this is also called to do subranges unless +  *! there is a @[`[..]] in the class. See @[predef::`[..]] for +  *! details. +  *!    *! @note    *! It's assumed that this function is side-effect free.    *!    *! @seealso -  *! @[predef::`[]()] +  *! @[predef::`[]()], @[predef::`[..]]    */      /*! @decl mixed lfun::`[]=(zero arg1, zero arg2)    *!    *! Index assignment callback.    *!    *! @seealso    *! @[predef::`[]=()], @[lfun::`->=()]    */