| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
RFC: https://wiki.php.net/rfc/enumerations
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Closes GH-6489.
|
|
|
|
|
|
| |
etc.
Now properties are ordered according to their layout in zend_object structure.
|
|
|
|
|
| |
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
|
|
|
|
| |
Closes GH-6110
|
|
|
|
| |
Closes GH-5999
|
|
|
|
| |
Closes GH-5958
|
|
|
|
|
|
|
| |
This implements the last remaining part of the
https://wiki.php.net/rfc/engine_warnings RFC.
Closes GH-5927.
|
|
|
|
| |
And promote it to be fatal.
|
|
|
|
| |
Closes GH-5401
|
|
|
|
| |
Closes GH-5590
|
|
|
|
|
|
|
| |
From now on, we always display the given object's type instead of just reporting "object".
Additionally, make the format of return type errors match the format of argument errors.
Closes GH-5625
|
|
|
|
| |
Closes GH-5465
|
| |
|
|
|
|
| |
Closes GH-5397.
|
|
|
|
| |
Closes GH-5312
|
|
|
|
| |
Closes GH-5240
|
| |
|
|
|
|
| |
Closes GH-5211
|
|
|
|
| |
Closes GH-5092
|
|
|
|
|
|
|
|
|
| |
IS_VAR.
This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".
Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"
|
| |
|
|
|
|
|
|
| |
This means we get an Error exception and a much better error
message indicating the root cause (e.g. accessing a private class
constant).
|
| |
|
| |
|
|
|
|
|
|
|
| |
Remove most of the `===DONE===` tags and its variations.
Keep `===DONE===` if the test output otherwise becomes empty.
Closes GH-4872.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This goes in the reverse direction of 4463acb9513dfb62206760c49b3da1fe4d92f40a.
After looking around a bit, it seems that we already check for
Z_ISERROR_P() on the get_property_ptr_ptr return value in other places.
So do this in zend_fetch_property_address() as well, and also make
sure that EG(error_zval) is indeed returned on exception in
get_property_ptr_ptr.
In particular, this fixes the duplicate exceptions that we used to
get because first get_property_ptr_ptr threw one and then
read_property throws the same exception again.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Relying on setting ERROR if an exception happened during the
property address fetch is both a bit fragile and may pessimize
other codepaths that will check for exceptions in the VM. Adding
an extra exception check instead, which should also allow us to
drop the use of ERROR in this area in master.
|
| |
| |
| |
| | |
Part of https://wiki.php.net/rfc/engine_warnings.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This removes object auto-vivification support.
This also means that we can remove the corresponding special
handling for typed properites: We no longer need to check that a
property is convertible to stdClass if such a conversion might
take place indirectly due to a nested property write.
Additionally OBJ_W style operations now no longer modify the
object operand, and as such we no longer need to treat op1 as a
def in SSA form.
The next step would be to actually compile the whole LHS of OBJ_W
operations in R rather than W mode, but that causes issues with
SimpleXML, whose object handlers depend on the current compilation
structure.
Part of https://wiki.php.net/rfc/engine_warnings.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a fix for symfony/symfony#32995.
The behavior is:
* Throwing exception when loading parent/interface is allowed
(and we will also throw one if the class is simply not found).
* If this happens, the bucket key for the class is reset, so
it's possibly to try registering the same class again.
* However, if the class has already been used due to a variance
obligation, the exception is upgraded to a fatal error, as we
cannot safely unregister the class stub anymore.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
We want the class declaration to be available while compiling the
parent class.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
|
| |
| |
| |
| | |
RFC: https://wiki.php.net/rfc/lsp_errors
|
|\ \
| |/ |
|
| |
| |
| |
| | |
And also include explicit linenos in tests.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
Replace dirname(__FILE__) by __DIR__ in tests
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
* PHP-7.4:
Use EXPECT when possible
Fix tests filenames
|
| |
| |
| |
| | |
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
Tests can specify conflict keys, either in --CONFLICTS-- or
a per-directory CONFLICTS file. Non-conflicting tests may be run
in parallel.
|
|\ \
| |/ |
|
| | |
|