| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | | |
Also simplify code while at it ... no point in going through a
smart_str for a single printf.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ / |
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
It's going to be helpful for static optimisations, when "parent" is not known yet.
|
| | |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Squashed commit of the following:
commit 3e27fbb3d22b42d181e15c345f1c59a007b6b58c
Author: Andrea Faulds <ajf@ajf.me>
Date: Sun Sep 11 19:14:37 2016 +0100
Keep dummy FAST_ZPP macro for compatibility
commit 8a7cfd00deaa4a3c5026c97580c49c886c72a5b4
Author: Andrea Faulds <ajf@ajf.me>
Date: Mon Sep 5 22:36:03 2016 +0100
Remove FAST_ZPP macro and plain zpp fallback code
|
| |
| |
| |
| | |
returns NULL/NFC/UKNOWN)
|
| |
| |
| |
| | |
This reverts commit 8855a2ce76e8bfba1d2eea1345c765fde7a9a441.
|
| |
| |
| |
| | |
Better BC with 7.0.
|
| |
| |
| |
| | |
Review mistake...
|
| | |
|
| |
| |
| |
| | |
Added ReflectionNamedType and updated ReflectionType::__toString()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| |/ |
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
ext/reflection/php_reflection.c
|
| | | |
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
match type)
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | | |
Conflicts:
ext/reflection/php_reflection.c
|
| | | |
| | | |
| | | |
| | | | |
Also fixes a memory leak if ::getValue() is used with __get().
|
| |\ \ \ |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also fix indentation of __toString().
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In a1c405e0c50c627cdd9a7695b4c7d644238b6b9b next to the actual fix
I have also switched some (effective) ZVAL_DUPs to ZVAL_COPYs. I'm
reverting this part as those were probably there for a reason
(presumably issues with non-atomic refcounting on ZTS).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If an in-place update in an external zval is performed, it needs
to incref'd beforehand, not afterwards.
|
| | | | |
| | | | |
| | | | |
| | | | | |
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
|
| | | | |
| | | | |
| | | | |
| | | | | |
but is never used.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead decide whether a function returned by reference or by value
by checking whether the return value has REFERENCE type. This means
that functions returning by reference must always return a reference
and functions returning by value must not return a reference.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
* PHP-7.0:
Update header to PHP Version 7
Happy new year (Update copyright to 2016)
Happy new year (Update copyright to 2016)
|
| |\ \ \ \
| | |/ / /
| |/| | /
| | | |/
| | |/| |
* PHP-5.6:
Happy new year (Update copyright to 2016)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This one maybe only used in debug mode, so no bug report and no test
script provided
|