Dmitry Stogov
ef5ea48741
Always use IS_CONSTANT_AST (IS_CONSTANT is removed).
2017-10-10 10:11:05 +03:00
Dmitry Stogov
e70618aff6
Changed the way VM accesses constant operands in 64-bit builds.
2017-10-04 16:53:01 +03:00
Sammy Kaye Powers
c900764e64
Fix type-o in ext/reflection comment 💬
2017-09-13 14:11:57 -05:00
Xinchen Hui
afc2be8fc8
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Update NEWS
Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:24:53 +08:00
Xinchen Hui
84a18c4782
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:23:27 +08:00
Xinchen Hui
e36c04ef48
Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:23:06 +08:00
Tom Van Looy
04fb3f28ff
Remove superfluous semicolons
2017-06-26 00:23:25 +02:00
Remi Collet
fdfc5c1b3d
code de-duplication in ReflectionType::__toString and ReflectionNamedType::getName
...
This code duplication introduce an inconsistency in displayed type name
- bool (reflection) vs boolean
- int (reflection) vs integer
And reflection already use zend_get_type_by_const in other methods...
Inconsistenty is kept for BC reason.
Could be fixed in 8.0
2017-06-15 15:38:03 +02:00
Sara Golemon
d1cfd87fbe
Allow ReflectionClass::isIterable() to return true for Traversables
...
Current behavior is essentially "Is an INTERNAL iterable class".
This change allows isIterable() to return true for userspace classes as well.
2017-05-31 14:23:57 -07: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
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
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
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
Joe Watkins
7c17936c70
Merge branch 'PHP-7.1'
...
* PHP-7.1:
Fix ce comparison
2017-01-18 05:06:59 +00:00
Joe Watkins
43612e9593
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fix ce comparison
2017-01-18 05:06:07 +00:00
Thomas Punt
a22f181736
Fix ce comparison
2017-01-18 05:05:53 +00:00
Dmitry Stogov
141d1ba980
Introduced "zend_type" - an abstraction for type-hinting representation.
2017-01-13 11:37:46 +03:00
Nikita Popov
a1145c0c40
Fix memory error in reflection export
...
Also simplify code while at it ... no point in going through a
smart_str for a single printf.
2017-01-12 21:50:53 +01:00
Sammy Kaye Powers
dac6c639bb
Update copyright headers to 2017
2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9
Update copyright headers to 2017
2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce
Update copyright headers to 2017
2017-01-02 09:30:12 -06:00
Nikita Popov
f3f594a47d
Switch reflection to use smart_str
...
Instead of yet-another-smart-string-implementation.
Expand the smart_str API by:
* smart_str_extract() which gets a finalized zend_string* from a
smart_str, including insertion of the zero byte and handling of
the empty string case. This should be preferred over using
smart_str_0() in conjunction with str.s.
* smart_str_get_len() which gets the length of the smart_str with
handling of the empty string case.
2017-01-01 21:28:21 +01:00
Barbu Paul - Gheorghe
e52d2b88e4
Reduce redundant storage of required number of parameters to required flag
...
The required field, until now, stored how many required parameters
the function, it belongs to, has. I think this is rather problematic
because it's a feature of the function to know how many required
parameters it has, not of the parameter itself. The parameter should
only say if it's required or optional (among other unrelated things).
Also storing the function's number of required parameters in every
parameter was redundant since the _zend_function structure already
has that information. And storing the same value (number of required
parameters) across multiple variables is inefficient and could lead
to inconsistencies.
2016-12-26 10:39:19 -08:00
Nikita Popov
509f26c4bb
Drop some dead code in ext/reflection
2016-12-21 21:19:19 +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
Dmitry Stogov
bdc1ba3e3a
Intriduced ZEND_ACC_INHERITED class flag.
...
It's going to be helpful for static optimisations, when "parent" is not known yet.
2016-11-01 22:56:25 +03:00
Nikita Popov
02ba9d71ab
Unwrap reference returns in cufa etc
2016-09-30 22:10:01 +02: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
Andrea Faulds
fc5497cb92
Merge branch 'PHP-7.0' into PHP-7.1
2016-09-11 22:46:20 +01:00
Andrea Faulds
d690014bf3
Remove zpp fallback code (always use Fast ZPP)
...
Squashed commit of the following:
commit 3e27fbb3d2
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Sep 11 19:14:37 2016 +0100
Keep dummy FAST_ZPP macro for compatibility
commit 8a7cfd00de
Author: Andrea Faulds <ajf@ajf.me>
Date: Mon Sep 5 22:36:03 2016 +0100
Remove FAST_ZPP macro and plain zpp fallback code
2016-09-11 22:44:46 +01: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
Aaron Piotrowski
8855a2ce76
Do not prepend ? on nullables in ReflectionType::__toString()
...
Better BC with 7.0.
2016-08-21 00:12:47 -05:00
Nikita Popov
dfed09afca
Fix off-by-one in ReflectionType::__toString()
...
Review mistake...
2016-08-20 19:00:03 +02: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