Michał Brzuchalski
8e10c9d373
Implement object type annotation
...
RFC: https://wiki.php.net/rfc/object-typehint
2017-06-25 21:49:41 +02:00
Sara Golemon
c1500f8519
Rename ReflectionClass::isIterateable() to isIterable()
...
Iterateable is not a word.
Add the correct spelling, but keep the original one around
for BC purposes.
Perhaps we can add ZEND_ACC_DEPRECATED at some later date
and even remove it from PHP 8.
2017-05-31 12:08:07 -07:00
Xinchen Hui
bfd35512bb
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Update NEWS
Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)
Conflicts:
ext/reflection/php_reflection.c
2017-05-31 13:12:24 +08:00
Xinchen Hui
9064dca58b
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)
Conflicts:
ext/reflection/php_reflection.c
2017-05-31 13:08:26 +08:00
Xinchen Hui
9c5717d0de
Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)
2017-05-31 12:39:26 +08:00
Andrea Faulds
9891b9ede2
Test ReflectionType support of iterable
2017-04-29 16:12:46 +01:00
Andrea Faulds
753ae9b7db
Test ReflectionType support of iterable
2017-04-29 14:37:35 +01:00
Nikita Popov
d5c6fcc3ba
Don't leak internal flags in reflection
...
If someone complains, we may re-expose specific flags while also
adding corresponding class constants for them.
2017-04-22 16:44:20 +02:00
Nikita Popov
0710eee043
Fix reflection test after flag removal
...
Reflection is leaking internal flags...
2017-04-22 16:31:28 +02:00
Nikita Popov
134d0b33a3
Merge branch 'PHP-7.0' into PHP-7.1
2017-02-12 22:03:31 +01:00
Nikita Popov
eb1373e509
Revert "Fixed bug #74035 "
...
This reverts commit 9ffc6ca62f
.
2017-02-12 22:02:39 +01:00
Julien Pauli
ed4216c955
ReflectionGenerator now sends ReflectionException as expected
2017-02-07 17:47:08 +01:00
Nikita Popov
162aa1a5fc
Deprecate __autoload()
2017-02-03 18:52:57 +01:00
Nikita Popov
6303dd1ea4
Merge branch 'PHP-7.1'
2017-02-03 18:30:40 +01:00
Nikita Popov
57817eb72f
Merge branch 'PHP-7.0' into PHP-7.1
2017-02-03 18:30:32 +01:00
andrewnester
9ffc6ca62f
Fixed bug #74035
2017-02-03 18:29:39 +01:00
Nikita Popov
fb008bf60e
Remove obsolete version checks from tests
2017-02-02 00:58:04 +01:00
Nikita Popov
a8d901a80c
Remove zend_version() checks from tests
2017-01-30 22:50:25 +01:00
Nikita Popov
ca682952e7
Merge branch 'PHP-7.1'
2016-12-18 17:11:01 +01:00
Nikita Popov
4ef4e34c2e
Merge branch 'PHP-7.0' into PHP-7.1
2016-12-18 17:10:54 +01:00
Nikita Popov
c1af9f282f
Fix bug #46103
2016-12-18 17:10:19 +01:00
Nikita Popov
5af586bec5
Remove more PHP 6 leftovers from tests
2016-11-24 22:39:39 +01:00
Nikita Popov
45f7b2bcc8
Fix CRLF line-endings in tests
...
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Andrea Faulds
a0502b89a6
Convert numeric keys in object/array casts
...
RFC: https://wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts
This converts key types as appropriate in object to array and array to object
casts, as well as in get_object_vars().
2016-11-14 18:20:45 +00:00
Nikita Popov
f70fb05138
Don't mark ReflectionType::__toString() as deprecated for now
2016-09-28 19:21:53 +02:00
Nikita Popov
bf907b9961
Revert ReflectionType::__toString() behavior + deprecate
2016-09-28 19:21:51 +02:00
Davey Shafik
12ee17d5e0
Implement \ArgumentCountError exception
2016-08-30 19:35:56 -07:00
Levi Morrison
f4e68a3968
Revert "Do not prepend ? on nullables in ReflectionType::__toString()"
...
This reverts commit 8855a2ce76
.
2016-08-23 09:43:31 -06:00
Nikita Popov
906456c410
call_user_func(_array): Don't abort on reference warning
...
Change zend_call_function() to not abort the call if a non-reference
is passed to a reference argument. The usual warning will still be
thrown, but the call will proceed as usual.
2016-08-23 10:29:15 +03:00
Aaron Piotrowski
8855a2ce76
Do not prepend ? on nullables in ReflectionType::__toString()
...
Better BC with 7.0.
2016-08-21 00:12:47 -05:00
Aaron Piotrowski
c9ee0cb202
Revert "Append \ to class name returned from ReflectionType::__toString()"
...
This reverts commit 20fdd47921
.
2016-08-20 23:26:01 -05:00
Aaron Piotrowski
20fdd47921
Append \ to class name returned from ReflectionType::__toString()
2016-08-16 11:28:33 -05:00
Xinchen Hui
60de74ebda
Fixed bug #72846 (getConstant for a array constant with constant values returns NULL/NFC/UKNOWN)
2016-08-15 23:22:55 +08:00
Aaron Piotrowski
622d2f41d1
ReflectionType improvements
...
Added ReflectionNamedType and updated ReflectionType::__toString()
2016-08-11 12:19:33 +02:00
Christoph M. Becker
f706897f33
Implement #38992 : invoke() and invokeArgs() static method calls should match
...
We don't want ReflectionMethod::invoke() to simply ignore its first argument,
if the method to invoke is a static method. Instead we match its ZPP with
that of ReflectionMethod::invokeArgs(). Furthermore, we apply the DRY
principle by factoring out the code to a common helper function to prevent
inadvertent future divergence of the implementations of both methods.
As can be seen from the necessity to adapt some test cases, this causes a
BC break for some pathological cases. Therefore we apply this patch to PHP
7.1 only, which is still in beta phase.
2016-08-08 01:43:03 +02:00
Xinchen Hui
a3a797dbd5
Fixed bug #72661 (ReflectionType::__toString crashes with iterable)
2016-07-24 11:01:19 +08:00
Nikita Popov
981b94e0cf
Merge branch 'PHP-7.0'
2016-07-13 21:52:40 +02:00
Nikita Popov
57c9983619
Merge branch 'PHP-5.6' into PHP-7.0
...
Conflicts:
ext/reflection/php_reflection.c
2016-07-13 21:48:05 +02:00
nikita2206
eb190b4e91
fix: bug72222 for PHP-5.6 reflection export of array consts
2016-07-13 21:39:55 +02:00
Dmitry Stogov
ff363e2e7c
Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception
...
Squashed commit of the following:
commit 8b45fa2acb
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jun 16 01:52:50 2016 +0300
Separate slow path of ZEND_RECV into a cold function.
commit 9e18895ee5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 23:26:28 2016 +0300
Required argument can't be IS_UNDEF anymore.
commit 662db66e39
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 31 17:14:50 2016 +0300
Replace "Missing argument" warning by "Too few arguments" exception.
2016-06-16 02:32:02 +03:00
Dmitry Stogov
a9512af810
Implemented RFC: Fix inconsistent behavior of $this variable
...
Squashed commit of the following:
commit bdd3b6895c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jun 16 00:19:42 2016 +0300
Fixed GOTO VM
commit 2f1d7c8b89
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 21:01:57 2016 +0300
Removed unused variable
commit cf749c42b0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 19:06:16 2016 +0300
Protection from $this reassign through mb_parse_str()
commit 59a9a6c83c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 18:14:50 2016 +0300
Added type inference rule for FETCH_THIS opcode
commit 73f8d14a85
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 18:11:18 2016 +0300
Restored PHP-7 behavior of isset($this->foo).
It throws exception if not in object context.
Removed useless opcode handlers.
commit fa0881381e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 31 12:25:47 2016 +0300
Changed "Notice: Undefined variable: this" into "Exception: Using $this when not in object context".
commit e32cc528c0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 02:02:43 2016 +0300
Throw exception on attempt to re-assign $this through extract() and parse_str().
commit 41f1531b52
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon May 23 22:18:36 2016 +0300
Fixed inconsistent $this behavior
2016-06-16 02:30:23 +03:00
Joe Watkins
3684d41172
fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type)
2016-05-14 06:28:11 +01:00
Nikita Popov
20560da118
Merge branch 'PHP-7.0'
...
Conflicts:
ext/reflection/php_reflection.c
2016-05-10 12:17:54 +02:00
Nikita Popov
a1ed4ab3ca
Fixed bug #72174
...
Also fixes a memory leak if ::getValue() is used with __get().
2016-05-10 12:13:10 +02:00
Nikita Popov
4b0f9586db
Add missing update_constants in ReflectionClassConstant
...
Also fix indentation of __toString().
2016-05-02 11:43:01 +02:00
Nikita Popov
d9f0c8429d
Merge branch 'PHP-7.0'
2016-03-11 22:28:50 +01:00
Grigorii Sokolik
ccc5150f15
Fix bug #71767
2016-03-11 22:27:48 +01:00
marcosptf
625345f58c
Update ReflectionClass_isArray.phpt
2016-02-05 13:50:06 -02:00
marcosptf
2c7341ca16
test to function ReflectionParameter::isArray
...
was created a new test uncovered yet!
:-)
2016-02-05 12:21:10 -02:00
Andrea Faulds
1b36037689
Test for void
2016-01-28 18:07:45 +00:00