Skip to content

Node::isEqual not properly comparing nodes with array properties #88

Description

@tomzx

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions