Commit Graph

464 Commits

Author SHA1 Message Date
Felipe Pena
60857e013b - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Felipe Pena
cee9b6603c - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Stanislav Malyshev
2da7edbc8d This method doesn't seem to be very useful without scalar types, so reverting it too 2011-06-05 08:59:24 +00:00
Stanislav Malyshev
516c2f5920 removing scalar types in trunk 2011-05-15 00:36:13 +00:00
Gustavo André dos Santos Lopes
e15dd93e7e - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes
9e71bff701 - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes
fac1e87171 - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +00:00
Gustavo André dos Santos Lopes
f2329f1f4b - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Johannes Schlüter
5a1e9d1d6b - Fix #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors 2010-11-21 12:24:09 +00:00
Johannes Schlüter
9ea04e1e46 - Fix #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors 2010-11-21 12:24:09 +00:00
Felipe Pena
224bfb38f7 - Fixed bug #53366 (Reflection doesnt get dynamic property value from getProperty()) 2010-11-20 22:53:55 +00:00
Felipe Pena
1ac484d1a1 - Fixed bug #53366 (Reflection doesnt get dynamic property value from getProperty()) 2010-11-20 22:53:55 +00:00
Kalle Sommer Nielsen
063b213e9e Kill warnings about constness 2010-11-19 15:48:11 +00:00
Gustavo André dos Santos Lopes
b5b4f94a4c - Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties().
2010-10-26 18:47:10 +00:00
Gustavo André dos Santos Lopes
be77a48a71 - Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties().
2010-10-26 18:47:10 +00:00
Gustavo André dos Santos Lopes
e5c7fae82c - Added ReflectionParameter::canBePassedByValue(). 2010-10-26 15:01:36 +00:00
Dmitry Stogov
f2df6a4a3e - Improved memory usage
. zend_function.pass_rest_by_reference is replaced by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
  . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags
  . zend_arg_info.required_num_args removed. it was needed only for internal
    functions. Now the first arg_info for internal function (which has special
    meaning) is represented by zend_internal_function_info structure.
  . zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count moved into CG(context), because they are used only during
    compilation.
  . zend_op_array.start_op is moved into EG(start_op), because it's used
    only for 'interactive' execution of single top-level op-array.
  . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
  . op_array.vars array is trimmed (reallocated) during pass_two.
  . zend_class_entry.constants_updated is replaced by
     ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
  . the size of zend_class_entry is reduced by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_inttry.info union.
2010-09-15 07:38:52 +00:00
Felipe Pena
da3743b7b9 - Added missing void parameter checks 2010-08-21 16:09:18 +00:00
Felipe Pena
76862dfd0c - Added missing void parameter checks 2010-08-21 16:09:18 +00:00
Felipe Pena
a552a30192 - Added missing parameter checks for new methods (trunk only) 2010-08-02 01:35:02 +00:00
Felipe Pena
6944a24328 - Makes "parent" and "self" checking case-insensitive 2010-07-29 01:59:40 +00:00
Felipe Pena
4d3944f941 - Fixed bug #52057 (ReflectionClass fails on Closure class) 2010-06-11 23:37:55 +00:00
Felipe Pena
becc2bb671 - Fixed bug #52057 (ReflectionClass fails on Closure class) 2010-06-11 23:37:55 +00:00
Felipe Pena
8454cca44c - Fix memleak when passing a non string/object parameter 2010-06-03 00:43:37 +00:00
Felipe Pena
dc86e9e89f - Fix memleak when passing a non string/object parameter 2010-06-03 00:14:35 +00:00
Felipe Pena
e03baf4e5d - Save an object_init_ex() and zval_dtor() calls on ReflectionClass::isCloneable() 2010-06-02 17:07:01 +00:00
Felipe Pena
c98c39b1c1 - Added ReflectionClass::isCloneable() [DOC] 2010-06-02 15:29:42 +00:00
Johannes Schlüter
4158f7e122 - More trait reflection work
#- I'm not happy about ReflectionClass::getTraitAliases, yet
2010-05-30 01:00:45 +00:00
Felipe Pena
2d63683ec3 - Fixed ReflectionClass::isTrait() checking (to not identify abstract class as Trait) 2010-05-29 22:08:51 +00:00
Felipe Pena
23dfc1fa9d - Missing Trait check fix 2010-05-29 21:55:19 +00:00
Felipe Pena
3c4ff06ca7 - Fixed wrong abstract class identification (it was identified as a Trait) 2010-05-29 21:48:56 +00:00
Johannes Schlüter
97b7620aed - Add some folding marks 2010-05-29 21:28:24 +00:00
Johannes Schlüter
19afc82e28 - Make reflection aware of traits 2010-05-29 20:40:58 +00:00
Kalle Sommer Nielsen
49d74ebc6e Fixed compiler warning (pointer mismatch) 2010-05-27 23:24:06 +00:00
Pierrick Charron
0b9263da93 Remove unused variable 2010-05-26 16:17:15 +00:00
Felipe Pena
f3009cb596 - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array) 2010-05-25 22:46:17 +00:00
Felipe Pena
1168cdc323 - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array) 2010-05-25 22:46:17 +00:00
Dmitry Stogov
f23e857676 Fixed ZTS build 2010-05-24 17:07:52 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Derick Rethans
1bc9247651 - Added scalar typehinting. 2010-05-20 19:18:35 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Stanislav Malyshev
c93a4f192b restore $this support for closures to its former glory 2010-04-19 19:45:03 +00:00
Johannes Schlüter
26b08f9857 Remove main/php3_compat.h, for that a few references to function_entry have
to be replaced by `zend_function_entry`.
2010-03-30 23:03:02 +00:00
Johannes Schlüter
d5b2d647c0 Fix protos 2010-03-30 22:36:17 +00:00
Johannes Schlüter
26af575926 Add ReflectionZendExtension class and --rz option to CLI 2010-03-30 22:35:23 +00:00
Johannes Schlüter
6ba38a6e09 Fix folding 2010-03-30 21:04:28 +00:00
Johannes Schlüter
4dc1cef4fe Use php_error_docref instead of zend_error 2010-03-30 21:02:32 +00:00
Johannes Schlüter
a6c9e432d4 Use php_error_docref instead of zend_error 2010-03-30 21:02:32 +00:00
Johannes Schlüter
347e2bce22 Add ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent(). 2010-03-30 20:50:42 +00:00
Hannes Magnusson
004a72ce1a - The ctor requires both arguments
- Sync/fix ctor and export arguments to 5_2
2010-03-02 22:16:24 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Felipe Pena
a94558c855 - Added MAKE_COPY_ZVAL(ppzv, pzv) macro 2009-12-08 01:57:37 +00:00
Felipe Pena
eea23b2794 - Fixed bug #50152 (ReflectionClass::hasProperty hehaves like isset() not property_exists)
[5_2 is OK]
2009-11-11 18:52:12 +00:00
Felipe Pena
8e91d46481 - Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class) 2009-11-01 15:12:34 +00:00
Felipe Pena
8172c388b0 - Fix some arginfos (thanks Philip)
- Added arginfo info. for void params
2009-10-03 20:45:29 +00:00
Sebastian Bergmann
ceaf590530 Merge ReflectionMethod::setAccessible() to PHP 5.3.2, approved by Johannes. 2009-09-16 17:24:46 +00:00
Sebastian Bergmann
853c6de65b Make invokeArgs() error messages consistent with invoke(). 2009-09-03 14:02:51 +00:00
Felipe Pena
c75f162165 - Fixed ReflectionClass::getStaticProperties() to do not return the private properties from parent class;
behavior already adopted in ReflectionClass::getDefaultProperties() and ReflectionClass::getProperties().
2009-08-01 20:44:00 +00:00
Jani Taskinen
adf8f72f14 - Fixed bug #49092 (ReflectionFunction fails to work with functions in fully qualified namespaces) 2009-08-01 01:45:22 +00:00
Jani Taskinen
edbf332cea - Fixed bug #49074 (private class static fields can be modified by using reflection) 2009-08-01 00:48:04 +00:00
Kalle Sommer Nielsen
485f28aae9 MFH: Fixed #45280 (Reflection of instantiated COM classes causes PHP to crash) (Paul Richards, Kalle) 2009-07-01 18:44:56 +00:00
Kalle Sommer Nielsen
e536b2700a MFH: Fixed memory leak if zero parameters are passed, Thanks Felipe 2009-07-01 17:43:16 +00:00
Kalle Sommer Nielsen
21d61978dc MFH: Fixed bug #48757 (ReflectionFunction::invoke() parameter issues) 2009-07-01 17:38:03 +00:00
Felipe Pena
f9bb99055e - MFH: Fixed build (removed trailing comma) patch by Seiji Masugata <s.masugata at digicom.dnp.co.jp> 2009-06-16 14:33:33 +00:00
Arnaud Le Blanc
5c5dcf5e7a MFH: Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not
work with redeclared property)
(patch by Markus dot Lidel at shadowconnect dot com)
2009-05-21 16:01:37 +00:00
Felipe Pena
9fa1e2d8a8 - MFH: Fixed bug #47254 (Wrong Reflection for extends class) 2009-04-27 19:48:45 +00:00
Sebastian Bergmann
03e48b1535 MFH: Fix issue reported by Roman Borschel. 2009-04-04 14:36:23 +00:00
Ilia Alshanetsky
c1effd8c7a Block unused function 2009-04-02 21:30:09 +00:00
Christian Seiler
63ee3c98a8 Fixed regression of bug #46205, thanks to felipe for pointing this out. 2009-02-01 15:06:19 +00:00
Christian Seiler
c6d89bd4a8 [DOC] Remove $this support in closures for PHP 5.3 beta 1
- Implementation notes here:
  http://wiki.php.net/rfc/closures/removal-of-this
2009-01-26 22:54:34 +00:00
Felipe Pena
15851cd771 MFH:
- New parameter parsing
- Removed METHOD_NOTSTATIC_NUMPARAMS
2009-01-07 22:40:17 +00:00
Marcus Boerger
7c8c0414e1 - MFH Minor corrections and a new test 2009-01-03 20:41:01 +00:00
Marcus Boerger
4ffc3235e3 - MFH Show closure's bound as static parameter 2009-01-03 20:04:22 +00:00
Marcus Boerger
12df96e0de MFH
- Add ReflectionFunctionAbstract::getClosureThis()
[DOC]
# Returns the this pointer bound to the closure is the relection object
# points to closure. Since not all closures have a bound this, the method
# cannot be used to differentiate between normal functions/methods and
# closures. Instead ReflectionFunctionAbstract::isClosure() has to be used.
2009-01-03 19:08:47 +00:00
Marcus Boerger
7ca830742e - MFH Improved closure support 2009-01-03 14:20:22 +00:00
Marcus Boerger
4490ca3104 - MFH Add minimalistic closure support 2009-01-03 12:39:27 +00:00
Marcus Boerger
88ca8e7279 - Use Revision instead of Id tag for version 2008-12-31 14:36:27 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Sebastian Bergmann
2f49305bc8 MFH: Fix #46718: ReflectionProperty::setValue() and ReflectionProperty::setAccessible(). 2008-11-29 15:58:54 +00:00
Dmitry Stogov
7d4fd3fd38 Fixed bug #46409 (__invoke method called outside of object context when using array_map) 2008-11-27 19:01:23 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Hannes Magnusson
dd9e9f26e2 MFH: Interfaces extend other interfaces, not implement 2008-11-14 19:22:43 +00:00
Marcus Boerger
7126de4912 - Next step in namespaces, using / as namespace separator. 2008-11-04 15:58:55 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
b9c03aa4a5 - MFH: Fixed bug #46064 (Exception when creating ReflectionProperty object on dynamicly created property) 2008-10-29 12:56:29 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Dmitry Stogov
f656c6fc70 Fixed bug #46205 (Closure - Memory leaks when ReflectionException is thrown) 2008-10-01 07:30:31 +00:00
Felipe Pena
9d5ab6e54f - MFH: Removed unused arguments 2008-08-22 15:54:21 +00:00
Christian Seiler
066ea4f66c MFH: Fixed segfaults (tests added) 2008-08-11 22:31:22 +00:00
Marcus Boerger
6d083e2c39 - Cleanup 2008-08-11 19:35:00 +00:00
Felipe Pena
301af6d4a9 - MFH: has_property check 2008-08-11 13:56:24 +00:00
Felipe Pena
e82568d9e4 - Fix build (ZTS) 2008-08-11 12:48:22 +00:00
Marcus Boerger
05d896cce9 - MFH Closure/Reflection integration (original idea by Christian Seiler) 2008-08-11 12:43:21 +00:00
Felipe Pena
18d07065c0 - MFH: Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error) 2008-08-11 00:47:45 +00:00
Felix De Vliegher
06bcec0698 Documentation fix for getClosure() 2008-08-08 10:52:48 +00:00
Dmitry Stogov
af05ce0af6 Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B" 2008-07-26 13:14:04 +00:00
Dmitry Stogov
ac68c41f8d Fixed support for static methods 2008-07-25 09:44:47 +00:00
Dmitry Stogov
176ebc26ea Fixed uninitialized data 2008-07-25 08:50:55 +00:00
Antony Dovgal
a46319d86d fix typos 2008-07-25 08:45:09 +00:00
Dmitry Stogov
691d4a6999 Fixed uninitialised data 2008-07-25 08:23:07 +00:00
Felipe Pena
0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Felipe Pena
a83e976857 - Fixed bug #45571 (ReflectionClass::export() shows superclasses' private static methods.)
patch by Robin Fernandes
2008-07-20 16:51:28 +00:00
Dmitry Stogov
d5ef2f466c Added support for lambda functions and closures 2008-07-14 09:49:03 +00:00
Dmitry Stogov
b872c30c85 ws 2008-06-27 06:43:21 +00:00
Dmitry Stogov
216909ced7 Added support for namespaces 2008-06-25 12:33:46 +00:00
Felipe Pena
bee6c52437 - New parameter parsing API 2008-06-21 02:41:27 +00:00
Felipe Pena
5050450f79 - MFB: Fixed bug #45139 (ReflectionProperty returns incorrect declaring class) 2008-06-01 03:11:38 +00:00
Dmitry Stogov
ecc9778dc8 Made code opcode-cache friendly. (It is disallowed to change code during execution) 2008-02-18 14:30:44 +00:00
Derick Rethans
d161f4ec88 - Fixed speling. 2008-02-15 12:48:13 +00:00
Derick Rethans
a764d75d08 - Add the ReflectionProperty::setAccesible() method that allows non-public
property's values to be read through ::getValue().
#- [DOC]
2008-02-15 12:38:53 +00:00
Felipe Pena
2c90b7127c Revert 2008-01-30 14:45:20 +00:00
Felipe Pena
b9df996a3b Fix the fix (isInstance - order of parameters) 2008-01-30 13:42:01 +00:00
Antony Dovgal
ca44081e6b fix ZTS build 2008-01-30 12:50:59 +00:00
Felipe Pena
8452585fc8 Fixed Bug#43926 (isInstance() isn't equivalent to instanceof operator) 2008-01-30 10:27:28 +00:00
Marcus Boerger
626881d9e8 - MFH Fixed Bug #37964 (Reflection shows private methods of parent class)
(felipe@php.net)
2008-01-16 14:21:07 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
648fbe9d58 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:27:13 +00:00
Ilia Alshanetsky
f0197278e0 Fixed bug #42976 (Crash when constructor for newInstance() or
newInstanceArgs() fails)
2007-10-28 13:42:24 +00:00
Yiduo (David) Wang
4b4d634cb9 MFH: Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:22:07 +00:00
Dmitry Stogov
6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Antony Dovgal
7a954c4c48 MFH: fix coverity issue #411 2007-09-27 09:15:09 +00:00
Sebastian Bergmann
11b820bda3 - Fugbix typo. 2007-08-20 17:01:22 +00:00
Johannes Schlüter
1d48a1081c - MFH: Mark the parameter for ReflectionProperty::GetValue as optional 2007-08-17 14:21:32 +00:00
Johannes Schlüter
179c67a64b - New ReflectionExtension::info() function to print the phpinfo() block
for an extension. [DOC]
2007-07-24 23:15:58 +00:00
Hannes Magnusson
e6e823c844 Avoid endless loop 2007-07-23 01:13:43 +00:00
Antony Dovgal
d3ac984385 MFH 2007-07-11 22:06:54 +00:00
Antony Dovgal
40f32634c2 MFH: fix copy/paste type and bug #41962 2007-07-11 13:27:49 +00:00
Marcus Boerger
407c9833ef - Bug #41525 ReflectionParameter::getPosition() not available
# This was supposed to be dropped in 5.1.4, I wonder why thisis not in
# because the functionality is documented.
# [ DOC ] Make sure the function documentation is correct for:
# ReflectionParameter::getPosition
# ReflectionParameter::getDeclaringFunction
# ReflectionFunction::getExtension
# ReflectionFunction::getExtensionName
2007-05-29 08:44:05 +00:00
Hannes Magnusson
c64a4a1359 MFH: fix logic 2007-05-28 10:46:21 +00:00
Johannes Schlüter
bbcd8c5b69 - Fix bug #41061 ("visibility error" in ReflectionFunction::export()) 2007-04-12 18:39:46 +00:00
Antony Dovgal
8e67ec8225 MFH: fix #40794 (ReflectionObject::getValues() may crash when used with dynamic properties) 2007-03-17 23:00:49 +00:00
Sebastian Bergmann
d3cb98caf0 Fugbix typo. 2007-03-16 06:41:24 +00:00
Antony Dovgal
9c100b20e6 MFH 2007-02-10 20:52:42 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Ilia Alshanetsky
72895cda6d Fixed bug #39884 (ReflectionParameter::getClass() throws exception for type
hint self).
2006-12-22 15:37:48 +00:00
Johannes Schlüter
dcf249004c - MFH: Fix #38465 (ReflectionParameter fails if default value is an access to self:: 2006-10-18 16:35:15 +00:00
Antony Dovgal
aeec5b4b68 MFH: fix #39125 (Memleak when reflecting non-existing class/method) 2006-10-11 15:52:56 +00:00
Antony Dovgal
3a4603b4b0 more improvements 2006-10-06 18:03:19 +00:00
Antony Dovgal
d917bf084c MFH: fix #39067 (getDeclaringClass() and private properties) 2006-10-06 17:35:32 +00:00
Dmitry Stogov
7c78500d96 Fixed bug #38942 (Double old-style-ctor inheritance) 2006-10-03 09:59:07 +00:00
Antony Dovgal
c356ad3b65 MFH: #39001 (ReflectionProperty returns incorrect declaring class for protected properties) 2006-10-02 12:16:35 +00:00
Dmitry Stogov
a04b6ed6bc Fixed bug #38942 (Double old-style-ctor inheritance) 2006-09-26 07:55:21 +00:00
Johannes Schlüter
6415ef51e9 - MFH: Print the type of the original value 2006-09-11 21:21:43 +00:00
Johannes Schlüter
6a1b4c99c7 - MFH: Fix #37923 (Display constant value in reflection::export) 2006-09-11 17:08:42 +00:00
Hannes Magnusson
bc8377a81c Make ReflectionFunctionAbstract abstract
- Move ReflectionFunctionAbstract::__construct to ReflectionFunction
- Move ReflectionFunctionAbstract::__toString to ReflectionFuncion
- Delcare ReflectionFunctionAbstract::__toString abstract
- fix couple of typos
2006-09-10 13:25:47 +00:00
Antony Dovgal
75b8cd741b last portion of z/Z fixes 2006-08-31 16:15:24 +00:00
Antony Dovgal
86bf55a3d8 MFH: fix #38653 (memory leak in ReflectionClass::getConstant()) 2006-08-30 10:42:49 +00:00
Ilia Alshanetsky
7b409b2276 Improved fix for bug #38132 2006-07-26 23:18:41 +00:00