php-src/Zend
Zeev Suraski f8bbafd604 ntroduce infrastructure for supplying information about arguments,
including:

- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance

Both user and builtin functions share the same data structures.

To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:

ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
    ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
    ZEND_ARG_PASS_INFO(0)
    ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();

and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.

The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.

The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
..
RFCs * email address change 2003-03-18 12:06:09 +00:00
tests Test case for bug #22836. 2003-07-29 17:56:50 +00:00
acconfig.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
acinclude.m4 fp_except check for FreeBSD 1.0-2.2.5 2000-06-18 16:51:42 +00:00
build.mk Add clean target which removes standard targets 1999-10-10 02:02:13 +00:00
buildconf Use libtool to build. 1999-10-04 15:20:12 +00:00
ChangeLog ChangeLog update 2003-08-03 00:30:27 +00:00
configure.in - MFZE1 2002-11-15 14:30:40 +00:00
flex.skl Fixup build for win32 2003-02-18 09:51:21 +00:00
FlexLexer.h Replace macros which begin with an underscore through an appropiately 2000-07-03 00:55:36 +00:00
LICENSE Bump year. 2002-12-31 15:59:15 +00:00
Makefile.am added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00
OBJECTS2_HOWTO some small refinements for get_class_* 2003-01-22 14:55:01 +00:00
zend_alloc.c Fix warning 2003-07-16 08:48:22 +00:00
zend_alloc.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_API.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_API.h ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_builtin_functions.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_builtin_functions.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
ZEND_CHANGES Remove namespace references. 2003-06-29 09:40:23 +00:00
zend_compile.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_compile.h ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_config.nw.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_config.w32.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_constants.c fix leaks with class constants (bug #24699) 2003-07-27 12:03:54 +00:00
zend_constants.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_default_classes.c added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00
zend_default_classes.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_dynamic_array.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_dynamic_array.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_errors.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_exceptions.c added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00
zend_exceptions.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_execute_API.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_execute_locks.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_execute.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_execute.h Generalize fetch_class 2003-08-03 08:21:08 +00:00
zend_extensions.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_extensions.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_fast_cache.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_globals_macros.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_globals.h Remove namespace leftovers 2003-07-23 08:58:46 +00:00
zend_hash.c - Fix logic. It was the wrong way around. 2003-07-31 05:08:59 +00:00
zend_hash.h Go back to ZE1-like code 2003-07-23 08:56:34 +00:00
zend_highlight.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_highlight.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_indent.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_indent.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ini_parser.y updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ini_scanner.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ini_scanner.l updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ini.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ini.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_istdiostream.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_language_parser.y ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_language_scanner.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_language_scanner.l fix crash #24550 2003-07-27 12:25:50 +00:00
zend_list.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_list.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_llist.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_llist.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_mm.c - Add heap to memory manager. This should improve performance. 2003-07-04 15:38:12 +00:00
zend_mm.h - Add heap to memory manager. This should improve performance. 2003-07-04 15:38:12 +00:00
zend_modules.h ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_multibyte.c - Add empty zend_multibyte.c to allow build with 4.3.0-dev. 2002-05-26 19:17:49 +00:00
zend_multiply.h - Missing $Id$ tag 2003-06-10 22:39:29 +00:00
zend_object_handlers.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_object_handlers.h Improve array overloading - support unset($foo["bar"]) 2003-07-30 17:12:06 +00:00
zend_objects_API.c Fix isset()/empty() for non-trivial object elements 2003-07-22 13:49:33 +00:00
zend_objects_API.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_objects.c make clone and throw coexist peacefully 2003-07-27 13:20:31 +00:00
zend_objects.h Shuffle code to ease writing clone handlers 2003-07-19 09:47:00 +00:00
zend_opcode.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_operators.c Improve infrastructure of numeric handling of elements in symbol tables. 2003-07-22 16:06:07 +00:00
zend_operators.h Improve infrastructure of numeric handling of elements in symbol tables. 2003-07-22 16:06:07 +00:00
zend_ptr_stack.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ptr_stack.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_qsort.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_qsort.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_reflection_api.c ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend_reflection_api.h added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00
zend_sprintf.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_stack.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_stack.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_static_allocator.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_static_allocator.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_stream.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_stream.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ts_hash.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_ts_hash.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_types.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_variables.c updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend_variables.h updating license information in the headers. 2003-06-10 20:04:29 +00:00
zend.c Add exec_finished() callback for modules - this is the last place where the 2003-07-30 16:13:52 +00:00
Zend.dsp added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00
zend.h ntroduce infrastructure for supplying information about arguments, 2003-08-03 17:40:44 +00:00
zend.ico Zend Library 1999-04-07 18:10:10 +00:00
Zend.m4 Add stdlib.h too - it is needed fot strto{ld} 2003-03-20 17:41:40 +00:00
ZendCore.dep - Rename modules.h to zend_modules.h 2001-02-26 18:18:34 +00:00
ZendTS.dsp added support for Reflection_Function, the first part of 2003-06-30 20:03:56 +00:00