pike.git
/
src
/
program.c
version
»
Context lines:
10
20
40
80
file
none
3
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::`->=()] */