1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 07:28:09 +02:00
Commit Graph

13820 Commits

Author SHA1 Message Date
Nikita Popov 4d5d77904e Fix foreach/get_object_vars for shadowed properties
If we are in a scope where the shadowed private property is
visible, the shadowing public property should not be visible.
2018-10-10 23:18:34 +02:00
Nikita Popov 76c8d79df6 Merge branch 'PHP-7.3' 2018-10-10 15:00:56 +02:00
Nikita Popov 01948f20b8 Fixed bug #76991
Back up exceptions while the scan-ahead loop, to avoid an early
bail out.
2018-10-10 15:00:18 +02:00
Nikita Popov 7ec8087f80 Introduce get_properties_for() handler
This handler allows getting the object properties for a particular
purpose, such as array casting, serialization, etc.
2018-10-10 10:39:10 +02:00
Pierrick Charron 9b4594515a Merge branch 'PHP-7.3' 2018-10-09 01:27:39 -04:00
Pierrick Charron 44d2c8c6dd Merge branch 'PHP-7.2' into PHP-7.3 2018-10-09 01:26:55 -04:00
Pierrick Charron efa5674a9b Merge branch 'PHP-7.1' into PHP-7.2 2018-10-09 01:20:01 -04:00
Pierrick Charron f42d7bddc0 Fixed bug #76965 INI_SCANNER_RAW doesn't strip trailing whitespace 2018-10-09 00:00:21 -04:00
Bob Weinand dcdf1ccf68 Initialize ce->parent_name to NULL 2018-10-07 11:21:48 +02:00
Nikita Popov e25b23ed0c Merge branch 'PHP-7.3' 2018-10-06 11:22:24 +02:00
Michael Moravec 0a6ddc7722 Fix bug #76979: define() error message does not mention resources as valid values 2018-10-06 11:21:51 +02:00
Pedro Magalhães c2c202193a Use HT_MIN_SIZE when duplicating an empty array 2018-10-05 12:14:42 +02:00
Nikita Popov a515f60790 Remove unused backpatch_count field 2018-10-05 12:14:42 +02:00
Nikita Popov f48ee1ff58 Clarify that the get_properties handler is required
Some places were checking for non-null get_properties, some weren't.
Make it clear that the handler is required and such checks are not
necessary.
2018-10-04 12:46:50 +02:00
Dmitry Stogov 2ebac3263b Removed wrong reference counting 2018-10-03 20:15:30 +03:00
Anatol Belski 91c905e83c Refactor php_sys_readlink
Also move the implementation into win32 where it belongs
2018-10-03 18:56:55 +02:00
Dmitry Stogov 60591328f8 More careful handling of function prototypes 2018-10-03 18:32:25 +03:00
Dmitry Stogov b9e485a7fd typo 2018-10-03 14:35:36 +03:00
Dmitry Stogov c88b53318f Avoid method compatibility check with itself 2018-10-03 12:32:33 +03:00
Dmitry Stogov 9418144054 Added assertions 2018-10-03 12:31:47 +03:00
Nikita Popov c8188fdd3b Merge branch 'PHP-7.3' 2018-10-02 17:49:08 +02:00
Nikita Popov b8392803f9 Merge branch 'PHP-7.2' into PHP-7.3 2018-10-02 17:48:56 +02:00
Nikita Popov d2477b284b Fixed bug #76936 2018-10-02 17:47:07 +02:00
Dmitry Stogov 9bfb972413 typo 2018-10-02 15:38:55 +03:00
Dmitry Stogov f521586814 Make ZEND_ACC_IMMUTABLE and ZEND_ACC_HAS_TYPE_HINTS to be common (for functions and classes) 2018-10-02 09:51:06 +03:00
Dmitry Stogov 2606566269 Rename ZEND_ACC_NO_RT_ARENA into ZEND_ACC_HEAP_RT_CACHE and use it for pseudo-main op_arrays. 2018-10-02 09:10:04 +03:00
Dmitry Stogov a2e8334613 Allocate only necessary space for static properties of internal classes in ZTS mode. 2018-10-01 19:05:31 +03:00
Dmitry Stogov 2d87b51ae9 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (29 commits)
  Fix the deplister rule to not ignore the .c file (Anatol)
  Update .gitignore to include the Windows deplister program (win32/build/deplister.c)
  Bug > Feature Request
  NEWS and UPGRADING
  Fixed bug #75479
  Fix test
  Fix some tests and improve coverage for Windows in SPL
  Use already set variable
  Fix reflection arguments for sodium_memzero function
  Deprecate unbinding of $this of non-static methods
  Generalize compile_typename
  Fixed bug #76737
  Fixed bug #72635
  Remove and refactor ext/spl/examples
  Remove outdated soap examples
  Remove unused ext/bz2/php_bz2.def
  Remove redundant ce from reflection property_reference
  Only store zend_type inside reflection type_reference
  Fixed bug #76946
  Bump versions for 7.1.24-dev
  ...
2018-10-01 11:19:36 +03:00
Nikita Popov fc18f44213 Deprecate unbinding of $this of non-static methods
Static calls to non-static methods have been fully deprecated in
PHP 7.0 as part of https://wiki.php.net/rfc/reclassify_e_strict.

A combination of ReflectionMethod::getClosure() ("fake closures")
and Closure::bindTo() etc can be used to achieve the same behavior.
This commit ensures that a deprecation notice will be thrown also
in this case.
2018-09-29 21:01:27 +02:00
Nikita Popov c4cb3250ca Generalize compile_typename
Return zend_type instead of assigning to arg_info. Also move
nullable handling into the function.
2018-09-29 18:53:48 +02:00
Nikita Popov 2ae2e820be Merge branch 'PHP-7.3' 2018-09-29 14:23:13 +02:00
Nikita Popov 8b8b625d08 Fixed bug #72635
This seems to be a simple oversight, where we did not enable
exceptions. Other constexpr conditions already throw, so there is
no particular reason to stick to a fatal error here.
2018-09-29 14:21:08 +02:00
Nikita Popov 7ef42ec359 Merge branch 'PHP-7.3' 2018-09-28 19:18:01 +02:00
Nikita Popov 7189e0b70f Merge branch 'PHP-7.2' into PHP-7.3 2018-09-28 19:17:53 +02:00
Nikita Popov 8e7dfc6ddf Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 19:17:29 +02:00
Nikita Popov 83e2b9e220 Fixed bug #76946 2018-09-28 19:15:19 +02:00
Nikita Popov 65abbdad70 Merge branch 'PHP-7.3' 2018-09-28 13:41:36 +02:00
Nikita Popov 8ebe1b8de1 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-28 13:41:29 +02:00
Nikita Popov 99eb4b2ea4 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 13:41:06 +02:00
Nikita Popov fa84b8ebb4 Fix test for release builds 2018-09-28 13:40:58 +02:00
Nikita Popov 136aa37681 Merge branch 'PHP-7.3' 2018-09-28 12:59:17 +02:00
Nikita Popov 25522baec4 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-28 12:58:59 +02:00
Nikita Popov 1c35357b31 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 12:57:55 +02:00
Nikita Popov 45cdcb2d0b Fixed bug #76846 2018-09-28 12:56:47 +02:00
Dmitry Stogov 9d47cb4593 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix missing access errors for guarded properties
2018-09-27 23:50:04 +03:00
Nikita Popov 5a4cb3edde Fix missing access errors for guarded properties
If a property access would normally result in a magic method call,
but the property is subject to an active recursion guard, the
access should behave as if the magic method does not exist.

This commit fixes one instance where this was not the case -- we
should have been generating a property access error, but instead
the operation simply did not do anything.
2018-09-27 14:58:26 +02:00
Dmitry Stogov c1706980c0 Remove dead code (only IS_ARRAY may relive zendi_convert_scalar_to_number()), and micro-optimization. 2018-09-27 13:11:48 +03:00
Peter Kokot 8e430d7e48 Remove outdated OOP examples Zend/tests/zend2.php.txt
This patch removes outdated examples file from the Zend/tests in favor
of the PHP manual OOP chapter [1].

[1] https://php.net/manual/en/language.oop5.php
2018-09-26 12:56:31 +02:00
Peter Kokot f6605c788f Rename *.php files in Zend/tests to *.inc
*.php files are ignored by Git and a better practice might be to rename
PHP included files for tests.
2018-09-23 17:20:42 +02:00
Nikita Popov c5f108c66c Handle binary_op failure in overloaded assigns 2018-09-23 15:29:25 +02:00