Commit Graph

335 Commits

Author SHA1 Message Date
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
Andrea Faulds
8412de9da5 Support void return type in reflection 2016-01-28 18:01:48 +00:00
Dmitry Stogov
a75c195000 Implemented the RFC Support Class Constant Visibility.
Squashed commit of the following:

commit f11ca0e7a5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:38:42 2015 +0300

    Fixed test expectation

commit 211f873f54
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:28:38 2015 +0300

    Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags

commit 51deab84b2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Dec 7 11:18:55 2015 +0300

    Fixed issues found by Nikita

commit 544dbd5b47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Sat Dec 5 02:41:05 2015 +0300

    Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility
    @reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.
2015-12-08 12:40:42 +03:00
Xinchen Hui
3ae3341533 Fixed bug #71018 (ReflectionProperty::setValue() behavior changed) 2015-12-04 11:52:08 +08:00
Xinchen Hui
b0f472b3b2 Fixed test 2015-11-27 11:42:30 +08:00
Xinchen Hui
6cb6c04499 Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6) 2015-11-27 11:32:38 +08:00
Xinchen Hui
e637ead6ed Merge branch 'PHP-5.6' into PHP-7.0 2015-11-24 13:45:32 +08:00
Xinchen Hui
e6b46dc2ff Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters) 2015-11-24 13:45:16 +08:00
Xinchen Hui
8c51578c81 Merge branch 'PHP-5.6' into PHP-7.0 2015-11-23 18:48:51 +08:00
Xinchen Hui
b9845e5006 Add bug #70957 and #70958 releated test in refection 2015-11-23 18:48:21 +08:00
James Titcumb
bb55ac6279 Fixed typo in reflection phpt 2015-11-07 22:58:56 -08:00
Xinchen Hui
534856c98a Move the tests to proper place 2015-10-14 10:26:02 +08:00
Márcio Almada
ddb6d7801e Fix bug #70650 2015-10-07 16:25:59 +02:00
marcosptf
519016096f Add test for ReflectionMethod::getPrototype_basic() 2015-09-02 00:28:46 +02:00
Bob Weinand
5ece3ec71c Fix bogus traces with ReflectionGenerator::getTrace() 2015-08-20 23:24:28 +02:00
Nikita Popov
3c33854e7c Don't leak generator cycle in ReflectionGenerator test
This is tracked by bug #69989.
2015-07-03 19:33:28 +02:00
Anatol Belski
269acaa363 Merge branch 'pull-request/1284'
* pull-request/1284:
  Rename interface macros
  Fix typo in UPGRADING
  Move definition of Throwable to zend_exceptions.h/c
  Check for zend_ce_throwable instead
  Fix some missed tests
  Add Throwable tests
  Fix previous exception type check
  Updated UPGRADING with RFC link
  Changed AssertionException to AssertionError
  Update exception error messages
  Throwable method signatures.
  Update exception names in tests after formatting changes.
  Merge exception formatting changes.
  Make zend_get_exception_base static.
  Fix a few missed tests.
  Fix handler double copy.
  Updated tests to reflect exception class changes.
  Remodel exceptions based on Throwable interface
2015-06-17 21:55:03 +02:00