Xinchen Hui
9a44a9806c
Fixed bug #64235 (Insteadof not work for class method in 5.4.11)
...
As we discussed with stefan, we think previous of allowing use with
classes is a bug, should be forbided, anyway, the error message should
be improved.
2013-02-21 18:18:41 +08:00
Dmitry Stogov
42437dd870
Fixed bug #64070 (Inheritance with Traits failed with error)
2013-02-18 16:07:51 +04:00
Dmitry Stogov
625000ab44
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Fixed compilator bug that might cause jump depended on unitialized value
2013-01-09 17:36:44 +04:00
Dmitry Stogov
d4650c5d69
Fixed compilator bug that might cause jump depended on unitialized value
2013-01-09 17:16:47 +04:00
Xinchen Hui
aff5d084a5
Merge branch 'PHP-5.3' into PHP-5.4
2013-01-04 11:03:52 +08:00
Xinchen Hui
c3e6de2227
Fixed bug #63899 (Use after scope error in zend_compile)
2013-01-04 11:02:21 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Xinchen Hui
831fbcf385
Happy New Year
2013-01-01 16:23:31 +08:00
Dmitry Stogov
7e2629635b
spelling
2012-12-25 16:21:25 +04:00
Dmitry Stogov
f0b459b7c4
Fixed ZTS build
2012-12-25 13:38:14 +04:00
Dmitry Stogov
3f8c729e69
Traits refactoring
2012-12-25 10:23:08 +04:00
Xinchen Hui
3d86e6d881
Fixed bug #63726 (Memleak with static properties and internal/user classes)
...
No test scripts provided (will try to find one)
2012-12-10 20:29:51 +08:00
Dmitry Stogov
65585b3aa2
Fixed compiler reenterability
2012-11-14 17:45:10 +04:00
Xinchen Hui
74228c5151
Fixed bug #63305 (zend_mm_heap corrupted with traits)
2012-10-23 11:34:25 +08:00
Xinchen Hui
67611c67fa
Fixed bug #63219 (Segfault when aliasing trait method when autoloader throws excpetion)
2012-10-08 22:59:52 +08:00
Dmitry Stogov
6c0508f8d5
Fixed bug #62907 (Double free when use traits)
2012-09-05 09:58:22 +04:00
Lars Strojny
f82dd2c774
Bug #62956 : fixing private method signature validation
...
In inheritance, if both methods are private, don not enforce the same
signature.
2012-08-28 14:06:18 +02:00
Xinchen Hui
87785c7d5a
tabs
2012-08-23 16:13:34 +08:00
Xinchen Hui
d39aa984ad
Refix #62358 , previous has side-affect
2012-08-23 16:06:17 +08:00
Xinchen Hui
6d1bebfcb0
Fixed bug #62358 (Segfault when using traits a lot)
2012-08-23 15:41:49 +08:00
Marc Easen
896ac689c9
Fixed the common misspelling of the word occurred (occured -> occurred)
2012-06-30 16:54:03 -07:00
Stanislav Malyshev
ba8333cdb0
typo
2012-06-08 12:23:51 -07:00
Stanislav Malyshev
17c0ff1194
typo
2012-06-08 01:24:49 -07:00
Xinchen Hui
bbcea230e1
Use emalloc instead of malloc
2012-05-21 18:58:19 +08:00
Dmitry Stogov
2ae8d2fbfb
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
2012-05-21 13:57:41 +04:00
Xinchen Hui
da6465a268
Fixed bug #61761 ('Overriding' a private static method with a different signature causes crash)
2012-04-18 18:13:27 +08:00
Stefan Marr
ffded0020b
Fixed Bug #61052 (Missing error check in trait 'insteadof' clause)
2012-03-04 19:34:19 +00:00
Stefan Marr
34fe62619d
Fixed Bug #60911 (Confusing error message when extending traits)
2012-03-04 18:33:33 +00:00
Stefan Marr
60dfd64bf2
Fixed Bug #60717 (Order of traits in use statement can cause a fatal error)
...
# Compatibility is now correctly checked in both directions.
# Introduced helper method for the test.
2012-03-04 18:26:11 +00:00
Xinchen Hui
046e3e3889
MFH: Fixed bug #60573 (type hinting with "self" keyword causes weird errors)
2012-03-02 03:32:12 +00:00
Dmitry Stogov
3299a2673c
Fixed Bug #60809 (TRAITS - PHPDoc Comment Style Bug)
...
Fixed some other traits related bugs (uninitialized variable, return => continue)
Removed some trait related redundant code and variables
2012-01-20 12:30:57 +00:00
Dmitry Stogov
b515bfbdfb
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Dmitry Stogov
c058385112
Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax)
2011-12-28 09:59:39 +00:00
Xinchen Hui
84ce790437
Fix #60613 (Segmentation fault with $cls->{expr}() syntax)
...
#now the behavior is like 5.3, a COMPILER_ERROR will be triggered
2011-12-28 06:46:12 +00:00
Xinchen Hui
2f4875bf92
Fix bug #60611 (Segmentation fault with Cls::{expr}() syntax)
2011-12-27 08:38:18 +00:00
Xinchen Hui
2f62602c03
Fixed bug #60558 (Invalid read and writes)
...
Re-Fixed bug #60536 (Traits Segfault)
#Thanks to tony2001, I found the previous fix -r321089 is actually not a correct one.
#The key problem there is because the traits didn't correct set the property_info.offset
#for private properties. so here come the new fix.
2011-12-19 16:48:18 +00:00
Xinchen Hui
1a4a527c37
Codes standard & Remove useless empty lines
2011-12-19 10:05:48 +00:00
Stefan Marr
3dc9f0abe6
Fixed inconsistent and broken handling of private properties in traits.
...
# The handling of private properties in classes is now consistent with private properties in traits.
# Perviously, privates could cause strict warnings, are were not properly merged into the class when
# the parent class had a private property of the same name. Now, we introduce it without notice,
# since it is a new and independent property, just like in normal classes.
# This problem was diagnosed while working on Bug #60536 .
2011-12-17 14:26:39 +00:00
Pierrick Charron
3f2bcb7723
Coding standard
2011-12-06 06:44:22 +00:00
Xinchen Hui
d18a61aefb
Fix typo
2011-12-05 12:33:56 +00:00
Dmitry Stogov
1d6c98a136
Fixed bug #60444 (Segmentation fault with include & class extending)
2011-12-05 09:20:12 +00:00
Stefan Marr
db0888dfc1
Fixed Bug #60369 Crash with static property in trait
2011-11-23 21:24:34 +00:00
Felipe Pena
31ef559712
- Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes)
2011-11-19 13:36:03 +00:00
Felipe Pena
bc810a443d
- Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes)
2011-11-19 13:36:03 +00:00
Felipe Pena
cc8573e7a5
- CS
2011-11-18 13:56:41 +00:00
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
c5ec9dd650
- Fix build
2011-11-17 21:07:52 +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