summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug #78787Nikita Popov2019-11-061-4/+8
| | | | | Not the first time inheritance of shadow properties causes an issue, thankfully this whole concept is gone in PHP 7.4.
* Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-081-2/+2
|\
| * Fix resolution of "parent" during inheritance checkNikita Popov2019-05-081-2/+2
| | | | | | | | | | We can't assume that the method we're checking against is part of the parent class...
* | Fixed bug #77498Nikita Popov2019-01-251-0/+3
| | | | | | | | | | I've renamed the function to the same name as the exported symbol in master.
* | Fix #77291: magic methods inherited from a trait may be ignoredChristoph M. Becker2018-12-161-12/+12
| | | | | | | | | | | | | | | | | | | | | | When adding methods from a trait, we must not assume that a method name with the same length as the name of the using class is either a PHP 4 style constructor, or not a magic method at all – it may well be another magic method. We mostly preserve the spirit of the optimization which caused this regression, and avoid string comparisons for all method names which can never be magic methods.
* | Future-proof email addressesZeev Suraski2018-11-011-2/+2
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2018-09-031-1/+1
|\ \ | |/ | | | | | | * PHP-7.2: Fixed reference-countingin ZTS build.
| * Merge branch 'PHP-7.1' into PHP-7.2Dmitry Stogov2018-09-031-1/+1
| |\ | | | | | | | | | | | | * PHP-7.1: Fixed reference-countingin ZTS build.
| | * Fixed reference-countingin ZTS build.Dmitry Stogov2018-09-031-1/+1
| | |
* | | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2018-08-291-4/+9
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for internal functions).
| * | Merge branch 'PHP-7.1' into PHP-7.2Dmitry Stogov2018-08-291-4/+9
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for internal functions).
| | * Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for ↵Dmitry Stogov2018-08-291-4/+9
| | | | | | | | | | | | internal functions).
| | * year++Xinchen Hui2018-01-021-1/+1
| | |
| | * Revert "Inheritance checks should not ignore parents if these implement an ↵Joe Watkins2017-02-011-4/+5
| | | | | | | | | | | | | | | | | | interface" This reverts commit b67eb3440bb244adf6957bf2c68aeeaa6efc8c8d.
| * | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | Fix #76773 - Methods with a concrete scope need to be added againChris Wright2018-08-221-3/+4
| | |
* | | Fix #76700 - Methods with altered visibility need to be added againPedro Magalhães2018-08-071-2/+4
| | |
* | | Improved user iterator implementation to reduce zend_class_entry memory ↵Dmitry Stogov2018-07-121-2/+17
| | | | | | | | | | | | consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
* | | Changed structure of zend_class_entry.trait_aliases and ↵Dmitry Stogov2018-07-111-130/+128
| | | | | | | | | | | | zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.
* | | Combined few checks into oneDmitry Stogov2018-07-091-5/+1
| | |
* | | Avoid reloadingDmitry Stogov2018-07-091-1/+1
| | |
* | | Eliminated checkDmitry Stogov2018-07-091-4/+4
| | |
* | | Avoid string comparisons for magic methods (all magic methods start with "__")Dmitry Stogov2018-07-021-12/+14
| | |
* | | Fixed ZTS race condition (zend_class_entry->ce_flags of internal classes ↵Dmitry Stogov2018-06-271-2/+0
| | | | | | | | | | | | must not be modified, because internal class enties are shared between threads)
* | | Fixed bug #76509Nikita Popov2018-06-251-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In PHP static properties are shared between inheriting classes, unless they are explicitly overwritten. However, because this functionality was implemented using reference, it was possible to break the implementation by reassigning the static property reference. This is fixed by switching the implementation from using references to using INDIRECTs, which cannot be affected by userland code.
* | | Avoid duplication of "shadow" property_infoDmitry Stogov2018-06-221-1/+1
| | |
* | | Use zend_string_release_ex() instread of zend_string_release() in places, ↵Dmitry Stogov2018-05-281-13/+13
| | | | | | | | | | | | where we sure about string persistence.
* | | Avoid useless checks, using zend_string_efree(), in cases where the string ↵Dmitry Stogov2018-05-081-2/+2
| | | | | | | | | | | | is known to be a temporary allocated zend_string.
* | | Remove no longer necessary type-name special casesNikita Popov2018-02-041-8/+2
| | | | | | | | | | | | | | | zend_get_type_by_name() now produces the correct value by itself, so we no longer need these workarounds.
* | | Trailing whitespacesGabriel Caruso2018-01-031-1/+1
| | | | | | | | | | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* | | year++Xinchen Hui2018-01-021-1/+1
| | |
* | | Cheaper reference constructionDmitry Stogov2017-12-261-6/+12
| | |
* | | Merge branch 'PHP-7.2'Nikita Popov2017-12-161-12/+24
|\ \ \ | |/ /
| * | Fix #75607 - Check if existing static trait property is a ref before comparingPedro Magalhães2017-12-161-4/+8
| | |
* | | Introduced zend_hash_find_ex() that may avoid unnecessary hash value check.Dmitry Stogov2017-11-241-5/+9
| | |
* | | 63911: Compare opcodes of the op_array to determine different functionsPedro Magalhães2017-11-221-0/+5
| | |
* | | Fix unsigned comparisons and remove dead codeAnatol Belski2017-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix unsigned comparison Cleanup never executed block Fix unsigned comparison Fix unsigned comparison, diff can't be < 0 Fix unsigned comparison Fix unsigned comparison Remove dead code
* | | Avoid unnecessary reference-counting on strings.Dmitry Stogov2017-11-161-2/+3
| | |
* | | Fix #74922 - Try to resolve constants when importing trait propertiesPedro Magalhães2017-11-021-8/+21
| | |
* | | RC manipulation cleanupXinchen Hui2017-11-011-1/+1
| | |
* | | Fixed use-after free introduced in fcc08ce19f39f7ab1381ecc8a010037d41819329Dmitry Stogov2017-10-311-0/+10
| | |
* | | Prevent reference-counting on persistent zvals (internal constants, default ↵Dmitry Stogov2017-10-301-48/+54
| | | | | | | | | | | | | | | | | | | | | properties and constants of internal classes). New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary. This should eliminate related race-coditions in ZTS build and prevent reference-counting bugs after unclean shutdown.
* | | Encapsulate reference-counting primitives.Dmitry Stogov2017-10-271-1/+1
| | | | | | | | | | | | | | | | | | Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead. Added mactros to validate reference-counting (disabled for now). These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
* | | Always use IS_CONSTANT_AST (IS_CONSTANT is removed).Dmitry Stogov2017-10-101-9/+12
| | |
* | | Changed the way VM accesses constant operands in 64-bit builds.Dmitry Stogov2017-10-041-1/+1
|/ /
* | further sync for vim mode linesAnatol Belski2017-07-041-0/+2
| |
* | Fix bug #74607: Don't check for bi-directional compatibility in traitsPedro Magalhães2017-06-031-6/+6
| |
* | Allow overriding abstract methodsPedro Magalhães2017-05-241-10/+0
| | | | | | | | RFC: https://wiki.php.net/rfc/allow-abstract-function-override
* | Type hint inheritance check optimizationDmitry Stogov2017-05-101-5/+8
| |
* | Drop unused variableNikita Popov2017-05-011-1/+0
| |