Commit graph

1189 commits

Author SHA1 Message Date
Stefan Marr
76772dc20d Fixes Bug #54441 (Handling of changing modifiers on a trait alias)
# this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
2011-11-18 13:49:07 +00:00
Felipe Pena
2ba9ff7fac - Fix build 2011-11-17 21:07:52 +00:00
Felipe Pena
c5ec9dd650 - Fix build 2011-11-17 21:07:52 +00:00
Stefan Marr
5ef2c32822 Fixed Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)
- aliases that are not actually matching anything are treated as errors now. This
  will make sure that all methods that are expected to be in a class are actually
  there, or in case a trait changed for instance, that the code breaks already
  on composition
- Precedence declarations are also checked to ensure that the method
  which is supposed to take precedence actually exists, however,
  the other traits mentioned in the declaration are not regarded.
  We are more lenient here, since this avoids unnecessary fragility.
- fixed another seamingly unrelated test which broke in the progress
  but wasn't clear before either.
2011-11-17 21:04:15 +00:00
Stefan Marr
c5ba229617 Fixed Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)
- aliases that are not actually matching anything are treated as errors now. This
  will make sure that all methods that are expected to be in a class are actually
  there, or in case a trait changed for instance, that the code breaks already
  on composition
- Precedence declarations are also checked to ensure that the method
  which is supposed to take precedence actually exists, however,
  the other traits mentioned in the declaration are not regarded.
  We are more lenient here, since this avoids unnecessary fragility.
- fixed another seamingly unrelated test which broke in the progress
  but wasn't clear before either.
2011-11-17 21:04:15 +00:00
Felipe Pena
7735ef1c2d - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
Felipe Pena
caa863dc42 - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
Felipe Pena
3c7a573a2c - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
Stefan Marr
5745f95372 Fixed inconsistent whitespace.
# Belongs to svn rev. 318793.
2011-11-05 02:05:28 +00:00
Stefan Marr
b632cd196e Fixed inconsistent whitespace.
# Belongs to svn rev. 318793.
2011-11-05 02:05:28 +00:00
Stefan Marr
7334dfd7eb Fixed Bug #60217 (Requiring the same method from different traits)
- also added test to check for inconsistent abstract method definitions, they need to be compatible
2011-11-05 01:46:40 +00:00
Stefan Marr
12cf1b7978 Fixed Bug #60217 (Requiring the same method from different traits)
- also added test to check for inconsistent abstract method definitions, they need to be compatible
2011-11-05 01:46:40 +00:00
Antony Dovgal
fadba4d1c4 use jmp_addr only when it's initialized 2011-11-03 08:39:12 +00:00
Antony Dovgal
36103d1236 use jmp_addr only when it's initialized 2011-11-03 08:39:12 +00:00
Antony Dovgal
ed276758f7 fix folding, ws and cs 2011-11-02 21:12:13 +00:00
Antony Dovgal
6acbe5155e fix folding, ws and cs 2011-11-02 21:12:13 +00:00
Antony Dovgal
8d520d6296 initialize variable and fix segfaulting tests 2011-11-02 21:05:36 +00:00
Antony Dovgal
bff7cbc87c initialize variable and fix segfaulting tests 2011-11-02 21:05:36 +00:00
Stefan Marr
7cd55955d1 Fixed Bug #60153 (Interface method prototypes not enforced when implementd via traits.)
# Moved the freeing of overriden functions to a point after the check.
# The new check comes after the normal inheritance check to give the first check
# the opportunity to abort with a more detailed error.
# Also fixed a small type in an unrelated test.
2011-11-01 15:25:24 +00:00
Stefan Marr
4591498df7 Fixed Bug #60153 (Interface method prototypes not enforced when implementd via traits.)
# Moved the freeing of overriden functions to a point after the check.
# The new check comes after the normal inheritance check to give the first check
# the opportunity to abort with a more detailed error.
# Also fixed a small type in an unrelated test.
2011-11-01 15:25:24 +00:00
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