Commit graph

1319 commits

Author SHA1 Message Date
Stefan Marr
ce0ddd5a34 Added missing consistency check for abstract methods required by one trait and implemented by another. 2011-11-01 13:42:53 +00:00
Stefan Marr
9b0d73af1d Added missing consistency check for abstract methods required by one trait and implemented by another. 2011-11-01 13:42:53 +00:00
Stefan Marr
3b74bba724 Fixed Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) 2011-11-01 00:39:10 +00:00
Stefan Marr
b5f15ef561 Fixed Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) 2011-11-01 00:39:10 +00:00
Xinchen Hui
725af4c2dd Fixed bug #60174 (Notice when array in method prototype error)
this should also exists in ext/reflection. since the new warning of "array to string convert" is introduced in zend_make_printable_zval which is used in ext/reflection too
2011-10-31 03:47:11 +00:00
Xinchen Hui
5921e73a37 Fixed bug #60174 (Notice when array in method prototype error)
this should also exists in ext/reflection. since the new warning of "array to string convert" is introduced in zend_make_printable_zval which is used in ext/reflection too
2011-10-31 03:47:11 +00:00
Arnaud Le Blanc
ea5a61e39b Improved ternary operator performance when returning arrays 2011-10-18 19:42:42 +00:00
Arnaud Le Blanc
07b7ba8b40 Improved ternary operator performance when returning arrays 2011-10-18 19:42:42 +00:00
Stanislav Malyshev
05c5c8958e Bug #55754 - Only variables should be passed by reference for ZEND_SEND_PREFER_REF params 2011-10-16 00:34:01 +00:00
Stanislav Malyshev
70a6a67c1e Bug #55754 - Only variables should be passed by reference for ZEND_SEND_PREFER_REF params 2011-10-16 00:34:01 +00:00
Stefan Marr
7e4b9800f4 Fixed Bug #55554 (Legacy constructors not handled properly) [TRAITS] [DOC]
# The handling of legacy constructors defined by traits was corrected.
# They are now properly registered and used on instantiation.
# The situation for conflicting legacy and __construct constructors is
# mostly identical. If they are defined in the class, they override conflicts
# and do not collide. However, in case different styles are mixed, between
# class and trait definition, we assume a programmer's mistake and report
# a collision.
#
# BTW: +1 for all the fixed tests! `make test` is fun again.
2011-10-09 11:13:27 +00:00
Stefan Marr
e14354af21 Fixed Bug #55554 (Legacy constructors not handled properly) [TRAITS] [DOC]
# The handling of legacy constructors defined by traits was corrected.
# They are now properly registered and used on instantiation.
# The situation for conflicting legacy and __construct constructors is
# mostly identical. If they are defined in the class, they override conflicts
# and do not collide. However, in case different styles are mixed, between
# class and trait definition, we assume a programmer's mistake and report
# a collision.
#
# BTW: +1 for all the fixed tests! `make test` is fun again.
2011-10-09 11:13:27 +00:00
Stefan Marr
9d30c4896f Use ZEND_ constants instead of plain strings for names of magic methods.
# No functional changes.
2011-10-08 23:47:16 +00:00
Stefan Marr
469fc0a341 Use ZEND_ constants instead of plain strings for names of magic methods.
# No functional changes.
2011-10-08 23:47:16 +00:00
Xinchen Hui
4ffc16611d Remove unecessary codes 2011-10-07 04:14:31 +00:00
Xinchen Hui
50bf7a1182 Remove unecessary codes 2011-10-07 04:14:31 +00:00
Xinchen Hui
2e925f6f19 Fixed bug #55825, and add test script 2011-10-03 17:01:17 +00:00
Xinchen Hui
37e1ed68e5 Fixed bug #55825, and add test script 2011-10-03 17:01:17 +00:00
Xinchen Hui
c58f254354 Improve the warning message of incompatible arguments. (#55719)
And fix tests related.
2011-09-23 15:08:11 +00:00
Xinchen Hui
8cefbca521 Improve the warning message of incompatible arguments. (#55719)
And fix tests related.
2011-09-23 15:08:11 +00:00
Derick Rethans
1777d6fa79 - Fixed compiler warnings (patch by Kalle Sommer Nielsen) 2011-09-13 15:17:11 +00:00
Derick Rethans
a70889f8fd - Fixed compiler warnings (patch by Kalle Sommer Nielsen) 2011-09-13 15:17:11 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Dmitry Stogov
e43ff1359e Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Pierre Joye
58a96d5588 - WS 2011-09-06 06:32:00 +00:00
Stefan Marr
1f4dfded59 Fixed bug #55524 Traits should not be able to extend a class
# also used the Z_STRVAL where it seemed appropriate
2011-08-29 15:53:46 +00:00
Stefan Marr
117e072941 Fixed bug #55524 Traits should not be able to extend a class
# also used the Z_STRVAL where it seemed appropriate
2011-08-29 15:53:46 +00:00
Pierrick Charron
c27da034d0 Reapply the commit of revision 315259 on 5.3.9 2011-08-23 03:09:09 +00:00
Pierrick Charron
18aac27b28 Revert commit 315259 as requested
# Will apply the patch on this branch after 5.3.8
2011-08-22 11:35:19 +00:00
Pierrick Charron
ef48624cd3 - Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
# Patch was not committed on the PHP5.3 branch
2011-08-22 01:11:22 +00:00
Hannes Magnusson
b55d116e9a Improve errormessage on wrong use statements 2011-08-16 10:46:49 +00:00
Hannes Magnusson
133596b6f7 Improve errormessage on wrong use statements 2011-08-16 10:46:49 +00:00
Hannes Magnusson
306c42023e Callable typehint following the rules of is_callable($arg, false); 2011-08-16 10:44:47 +00:00
Hannes Magnusson
550980cfe5 Callable typehint following the rules of is_callable($arg, false); 2011-08-16 10:44:47 +00:00
Stefan Marr
466d5414df Bug #55424 Fatal error when calling a method from a trait that is defined in parent class and required by using an abstract method in the trait.
# The method got unconditionally deleted from the class, since it was assumed that we override it, but we did not in case of abstract methods coming from a trait. Thus, dont delete when we try to merge in an abstract method.
2011-08-15 22:16:58 +00:00
Stefan Marr
4a51ea4b81 Bug #55424 Fatal error when calling a method from a trait that is defined in parent class and required by using an abstract method in the trait.
# The method got unconditionally deleted from the class, since it was assumed that we override it, but we did not in case of abstract methods coming from a trait. Thus, dont delete when we try to merge in an abstract method.
2011-08-15 22:16:58 +00:00
Stefan Marr
f4d3d6c439 Fixed Bug #55355: Inheritance chain was not regarded when checking whether the abstract method of a trait is satisfied. 2011-08-15 11:16:18 +00:00
Stefan Marr
0500cffb2e Fixed Bug #55355: Inheritance chain was not regarded when checking whether the abstract method of a trait is satisfied. 2011-08-15 11:16:18 +00:00
Stefan Marr
b14b440c93 Fixed Bug #55372 Incorrect handling of literals led to memory corruption.
# Dmitry you might want to review this patch, since I split up zend_add_literal
# and added a version for post-pass_two() usage.
2011-08-15 09:54:06 +00:00
Stefan Marr
f2ed1242d6 Fixed Bug #55372 Incorrect handling of literals led to memory corruption.
# Dmitry you might want to review this patch, since I split up zend_add_literal
# and added a version for post-pass_two() usage.
2011-08-15 09:54:06 +00:00
Stefan Marr
adfdd01372 Addendum for patch to bug #55214: Class name was freed before method literal referring to it.
# Thanks to Felipe for catching this.
# The fix duplicates the name into the literal to avoid the dependency
2011-08-15 08:29:48 +00:00
Stefan Marr
c312e60280 Addendum for patch to bug #55214: Class name was freed before method literal referring to it.
# Thanks to Felipe for catching this.
# The fix duplicates the name into the literal to avoid the dependency
2011-08-15 08:29:48 +00:00
Stefan Marr
65cbcb3be9 Fixed Bug #55214 use of __CLASS__ within trait returns trait name not class name [TRAITS] [DOC] 2011-07-31 18:18:56 +00:00
Stefan Marr
88f497f27d Fixed Bug #55214 use of __CLASS__ within trait returns trait name not class name [TRAITS] [DOC] 2011-07-31 18:18:56 +00:00
Felipe Pena
f52197815a - Fixed bug #55326 (Trait method copying misindentifies serialization callbacks)
patch by: Gustavo Lopes (cataphract@php)
2011-07-31 12:27:47 +00:00
Felipe Pena
b07c3c3e01 - Fixed bug #55326 (Trait method copying misindentifies serialization callbacks)
patch by: Gustavo Lopes (cataphract@php)
2011-07-31 12:27:47 +00:00
Stefan Marr
9a483afa5b Fixed incorrect initialization when copied op_array.vars was NULL (TRAITS) 2011-07-23 18:12:31 +00:00
Stefan Marr
c9fdd777fb Fixed incorrect initialization when copied op_array.vars was NULL (TRAITS) 2011-07-23 18:12:31 +00:00
Stefan Marr
9f66085649 Fixed bug in the handling of conflicting property initializers for traits.
# Bug was uncovered by discussion in http://news.php.net/php.internals/54129
# Forgot to check the actual value of the initializer comparison, only checked
# whether comparison was successful which is not enough.
2011-07-23 13:48:07 +00:00
Stefan Marr
f295302af6 Fixed bug in the handling of conflicting property initializers for traits.
# Bug was uncovered by discussion in http://news.php.net/php.internals/54129
# Forgot to check the actual value of the initializer comparison, only checked
# whether comparison was successful which is not enough.
2011-07-23 13:48:07 +00:00