tomzx / php-semver-checker

Compares two source sets and determines the appropriate semantic versioning to apply.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node::isEqual not properly comparing nodes with array properties

tomzx opened this issue · comments

A signature such as public function find($id, $columns = ['*']) contains an Array_ expression, which itself contains $items = []. When we iterate over the properties of a node, we should check if it is an array and if so, test if each corresponding elements is a \PhpParser\Node (and recursively call Node::isEqual) or directly compare the two.

Another simple and dirty solution would be to reuse the code in \PHPSemVerChecker\Comparator\Implementation (using the \PhpParser\NodeDumper and check for dump identicality).

Affected version: 0.10.0

Hi, @tomzx. This bug affects our CI recently, do you have plans to fix this issue?

Hello @x86demon, I do not have time to maintain this library anymore, so there are no plans for this issue to be fixed.

Feel free to create a PR, I'll be happy to review a solution.