Dmitry Stogov
ccc12b82da
Avoid unnecessary reference-counting on strings.
2017-11-16 17:09:32 +03:00
Sara Golemon
c33008339e
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Revert BC break caused by fixing bug #74035
2017-11-06 17:52:35 -05:00
Michael Moravec
f70ca770b6
Revert BC break caused by fixing bug #74035
...
This reverts commit 9ffc6ca62f
.
2017-11-06 17:52:17 -05:00
Xinchen Hui
a8a17a72b0
RC manipulation cleanup
2017-11-01 10:25:10 +08:00
Dmitry Stogov
fcb13fab6e
Avoid reference counting (the value may be a persistent string)
2017-11-01 01:31:47 +03:00
Nikita Popov
5b044aacbe
Use known strings for reflection properties
2017-10-31 15:46:55 +01:00
Nikita Popov
7b16205f8b
Remove some unnecessary duplications
2017-10-30 22:48:20 +01:00
Dmitry Stogov
fcc08ce19f
Prevent reference-counting on persistent zvals (internal constants, default 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.
2017-10-30 23:13:10 +03:00
Dmitry Stogov
49ea143bbd
Encapsulate reference-counting primitives.
...
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.
2017-10-27 01:28:58 +03:00
Dmitry Stogov
9cf87aa196
Avoid HashTable allocations for empty arrays (using zend_empty_array).
2017-10-24 17:27:31 +03:00
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
Derick Rethans
21493e0824
Merge branch 'PHP-7.1' into PHP-7.2
2017-08-16 11:14:53 +01:00
Derick Rethans
9a72a7c58f
Merge branch 'PHP-7.0' into PHP-7.1
2017-08-16 11:14:47 +01:00
Derick Rethans
5d2c303438
Fixed stupid test
2017-08-16 11:14:41 +01:00
Xinchen Hui
262aeb8ae1
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed test
2017-07-27 12:50:41 +08:00
Xinchen Hui
0ddda0dcb7
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed test
2017-07-27 12:50:28 +08:00
Xinchen Hui
9fcfe52d03
Fixed test
2017-07-27 12:50:17 +08: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
Michał Brzuchalski
8e10c9d373
Implement object type annotation
...
RFC: https://wiki.php.net/rfc/object-typehint
2017-06-25 21:49:41 +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
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
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