summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Improved traits implementation. Now to support __CLASS__ constant in traits ↵Dmitry Stogov2012-01-171-139/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Fixed Bug #60573 (type hinting with "self" keyword causes weird errors)Xinchen Hui2012-01-161-24/+63
| | | | | |
| * | | | | - Year++Felipe Pena2012-01-011-1/+1
| | | | | |
| * | | | | Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax)Dmitry Stogov2011-12-281-1/+2
| | | | | |
| * | | | | Fix #60613 (Segmentation fault with $cls->{expr}() syntax)Xinchen Hui2011-12-281-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #now the behavior is like 5.3, a COMPILER_ERROR will be triggered
| * | | | | Fix bug #60611 (Segmentation fault with Cls::{expr}() syntax)Xinchen Hui2011-12-271-3/+8
| | | | | |
| * | | | | Fixed bug #60558 (Invalid read and writes)Xinchen Hui2011-12-191-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Codes standard & Remove useless empty linesXinchen Hui2011-12-191-24/+6
| | | | | |
| * | | | | Fixed inconsistent and broken handling of private properties in traits.Stefan Marr2011-12-171-30/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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.
| * | | | | Coding standardPierrick Charron2011-12-061-1/+1
| | | | | |
| * | | | | Fix typoXinchen Hui2011-12-051-1/+1
| | | | | |
| * | | | | Fixed bug #60444 (Segmentation fault with include & class extending)Dmitry Stogov2011-12-051-5/+5
| | | | | |
| * | | | | Fixed Bug #60369 Crash with static property in traitStefan Marr2011-11-231-2/+3
| | | | | |
| * | | | | - Fixed bug #43200 (Interface implementation / inheritence not possible in ↵Felipe Pena2011-11-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | abstract classes)
| * | | | | - CSFelipe Pena2011-11-181-18/+21
| | | | | |
| * | | | | Fixes Bug #54441 (Handling of changing modifiers on a trait alias)Stefan Marr2011-11-181-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
| * | | | | - Fix buildFelipe Pena2011-11-171-1/+1
| | | | | |
| * | | | | Fixed Bug #60165 (Aliasing unexisting trait should throw/trigger the ↵Stefan Marr2011-11-171-1/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | - Fixed bug #60099 (__halt_compiler() works in braced namespaces)Felipe Pena2011-11-161-0/+5
| | | | | |
| * | | | | Fixed inconsistent whitespace.Stefan Marr2011-11-051-33/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Belongs to svn rev. 318793.
| * | | | | Fixed Bug #60217 (Requiring the same method from different traits)Stefan Marr2011-11-051-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - also added test to check for inconsistent abstract method definitions, they need to be compatible
| * | | | | use jmp_addr only when it's initializedAntony Dovgal2011-11-031-6/+20
| | | | | |
| * | | | | fix folding, ws and csAntony Dovgal2011-11-021-3/+6
| | | | | |
| * | | | | initialize variable and fix segfaulting testsAntony Dovgal2011-11-021-1/+1
| | | | | |
| * | | | | Fixed Bug #60153 (Interface method prototypes not enforced when implementd ↵Stefan Marr2011-11-011-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Added missing consistency check for abstract methods required by one trait ↵Stefan Marr2011-11-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | and implemented by another.
| * | | | | Fixed Bug #60145 (Usage of trait's use statement inside interfaces not ↵Stefan Marr2011-11-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | properly checked.)
| * | | | | Fixed bug #60174 (Notice when array in method prototype error)Xinchen Hui2011-10-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | Improved ternary operator performance when returning arraysArnaud Le Blanc2011-10-181-8/+41
| | | | | |
| * | | | | Bug #55754 - Only variables should be passed by reference for ↵Stanislav Malyshev2011-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ZEND_SEND_PREFER_REF params
| * | | | | Fixed Bug #55554 (Legacy constructors not handled properly) [TRAITS] [DOC]Stefan Marr2011-10-091-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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.
| * | | | | Use ZEND_ constants instead of plain strings for names of magic methods.Stefan Marr2011-10-081-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # No functional changes.
| * | | | | Remove unecessary codesXinchen Hui2011-10-071-11/+3
| | | | | |
| * | | | | Fixed bug #55825, and add test scriptXinchen Hui2011-10-031-1/+2
| | | | | |
| * | | | | Improve the warning message of incompatible arguments. (#55719)Xinchen Hui2011-09-231-3/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And fix tests related.
| * | | | | - Fixed compiler warnings (patch by Kalle Sommer Nielsen)Derick Rethans2011-09-131-1/+1
| | | | | |
| * | | | | Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-21/+23
| | | | | |
| * | | | | - WSPierre Joye2011-09-061-1/+1
| | | | | |
| * | | | | Fixed bug #55524 Traits should not be able to extend a classStefan Marr2011-08-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # also used the Z_STRVAL where it seemed appropriate
| * | | | | Improve errormessage on wrong use statementsHannes Magnusson2011-08-161-0/+3
| | | | | |
| * | | | | Callable typehint following the rules of is_callable($arg, false);Hannes Magnusson2011-08-161-20/+31
| | | | | |
| * | | | | Bug #55424 Fatal error when calling a method from a trait that is defined in ↵Stefan Marr2011-08-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Fixed Bug #55355: Inheritance chain was not regarded when checking whether ↵Stefan Marr2011-08-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | the abstract method of a trait is satisfied.
| * | | | | Fixed Bug #55372 Incorrect handling of literals led to memory corruption.Stefan Marr2011-08-151-24/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Dmitry you might want to review this patch, since I split up zend_add_literal # and added a version for post-pass_two() usage.
| * | | | | Addendum for patch to bug #55214: Class name was freed before method literal ↵Stefan Marr2011-08-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | referring to it. # Thanks to Felipe for catching this. # The fix duplicates the name into the literal to avoid the dependency
| * | | | | Fixed Bug #55214 use of __CLASS__ within trait returns trait name not class ↵Stefan Marr2011-07-311-32/+65
| | | | | | | | | | | | | | | | | | | | | | | | name [TRAITS] [DOC]
| * | | | | - Fixed bug #55326 (Trait method copying misindentifies serialization callbacks)Felipe Pena2011-07-311-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch by: Gustavo Lopes (cataphract@php)
| * | | | | Fixed incorrect initialization when copied op_array.vars was NULL (TRAITS)Stefan Marr2011-07-231-9/+14
| | | | | |
| * | | | | Fixed bug in the handling of conflicting property initializers for traits.Stefan Marr2011-07-231-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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.
| * | | | | Fixed bug #55150 (php -a segfaults)Dmitry Stogov2011-07-111-0/+9
| | | | | |