Mikhail Kornaukhov

Results 31 issues of Mikhail Kornaukhov

Added test previously led to failed assertion

bug
small fix

Issue: https://github.com/VKCOM/kphp/issues/290 RFC: https://wiki.php.net/rfc/match_expression_v2 Idea: Convert `match` into switch but using `eq3` instead of `eq2`. - [x] New keyword - [x] New AST nodes(`op_match_proxy, op_match_default, op_match_case`) - [x] Change `op_switch`...

PHP8

This PR adds enumerations(https://wiki.php.net/rfc/enumerations). The list of implemented and requested php8 features - https://github.com/VKCOM/kphp/issues/290 Previous attempt - https://github.com/VKCOM/kphp/pull/730

PHP8

https://www.php.net/manual/en/function.array-udiff.php Now we have `array_diff(a, b)` function. But it requires that array internal type must be convertible to string. This functions allows to add user-defined comparator.

missing functionality

Assume we have the following class hierarchy: ![image](https://github.com/VKCOM/kphp/assets/66915223/99cd11e4-dcec-4850-ae62-b078434f46bb) There is a a possible situation when such a hierarchy cannot be compiled. For example, if in any C++ Translation Unit inclusion...

bug

In case of ```php $a = new A(CONST_ONE, CONST_TWO); $b = new A(CONST_ONE, CONST_TWO); ``` we want 1. Constructor of class `A` with parameters `CONST_ONE, CONST_TWO` to be called once...

enhancement
optimization

For example: 1. I add new `phpt` file with the following path: `tests/phpt/constants/006_object_as_class_const.php`. 2. Then I do `$ ./kphp_tester.py 006_object_as_class_const.php`. 3. After that, I see `Can't find any tests with...

bug

For tests, we previously had (for `phpt` tests) `bool` variable - whether we need `php8` or not. This PR add possibility to choose `php7.4`, `php8`, `php8.1` or `php8.2`

Main issue: https://github.com/VKCOM/kphp/issues/290 This patch implements nullsafe operator `?->` for methods and properties. RFC: https://wiki.php.net/rfc/nullsafe_operator

PHP8