Nikita Popov
Nikita Popov
I'm wondering what minimum PHP version I should target for the next major version of this library. I think the viable choices are: * PHP 7.1: Nullable types. * PHP...
With https://github.com/nikic/PHP-Parser/issues/41#issuecomment-269230733 the master branch now supports preserving original code formatting when performing AST transformations. At this point formatting-preservation works well in practice, and remaining issues are addressed on an...
Something I just ran into ... if you look just at a Name node, you can't tell whether it refers to a class, function or constant. I had to replicate...
In particular as we now have https://github.com/Microsoft/tolerant-php-parser as a comparison point. Interesting parts to check would be performance of parsing, node traversal and pretty printing, as well as the memory...
As reported in #36, a code snippet like ``` /* this is a common multiline comment */ $a * $b == 1 + 2; ``` will associate the comment with...
https://alive2.llvm.org/ce/z/J7_Uvt This says: ``` Mismatch in pointer(non-local, block_id=0, offset=0) Source value: #x01 Target value: #x01 ``` Which is the same value ... I guess what it tries to tell us...
Noticed while looking at [example 4](https://github.com/Microsoft/tolerant-php-parser/blob/master/docs/HowItWorks.md#example-4): In PHP an expression like `$a == $b = $c` is parsed as `$a == ($b = $c)`, because this is the only valid...
For the PHP project, we have a number of fuzzers that essentially execute arbitrary code. For those fuzzers reading arbitrary files is expected, and even writing them is only a...
Building https://github.com/ColinIanKing/stress-ng with clang and `-flto` results in an assertion failure during the LTO step: ```console ld.gold: /home/npopov/repos/llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:6597: std::pair {anonymous}::ModuleSummaryIndexBitcodeReader::getValueInfoFromValueId(unsigned int): Assertion `VGI.first' failed. ``` The problematic input appears to...
The description in https://github.com/DaveLiddament/php-generics-standard#constructor is a bit unclear to me. If you are passing a literal integer value, it's obvious that `T = int`, but what if the value is...