Nikita Popov
Nikita Popov
I guess the PHP-Parser tests are not 32-bit compatible. I wonder if it's possible to test 32-bit on Travis...
The second case is handled as part of https://github.com/nikic/PHP-Parser/commit/62877b5d14e4d2e4b213a9cdb25413b72bb6505a. The fifth case is handled with https://github.com/nikic/PHP-Parser/commit/a8eb2fc67516a641f4699af2e92b1260af10ce10 (as well as any other uses of invalid trailing commas). I did not include...
There already are visitors for adding parent/next/prev attributes (ParentConnectingVisitor, NodeConnectingVisitor). Traversal past include/require is something I would consider out of scope for this project, because it requires filesystem resolution, and...
The file doc block will always be on the first AST node in the file. Your two examples differ by what kind of node that is. In either case, you...
@Gert-dev The main issue is that comments may occur in virtually any position. ```php /*a*/if/*b*/(/*c*/$bar/*d*/)/*e*/{ /*f*/call/*g*/(/*h*/$bar/*i*/)/*j*/; } ``` It's not really feasible to represent all of these comments as explicit...
What is "remove node" supposed to mean in this context? Say I have an `ArrayDimFetch[$var, 'index']` node and you return REMOVE_NODE for `$var` ... what is that supposed to do?...
I see... there really should be some way to do this. You can't replace a node with a null value, as null return value is interpreted as "do nothing". Either...
Moving these assignments into the constructor should be fine. initReduceCallbacks() already does that for the one part that can't be represented as a constant expression.
As a small update here: While there has been no movement on the above TODOs, all the necessary parser changes are now in 4.0, without the need to enable special...
I don't have concrete plans for a 4.0 release yet. I did not have time to work on this further and would like to at least resolve some of the...