Skip to content

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

Open
@tomzx

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions