Skip to content

Conversation

@ondrejmirtes
Copy link
Member

No description provided.

@ondrejmirtes ondrejmirtes force-pushed the fnsr-storage branch 4 times, most recently from c0b8d16 to 8e54658 Compare December 15, 2025 11:54
@staabm
Copy link
Contributor

staabm commented Dec 15, 2025

issue bot results look outstanding - too good to be real 🥸

@ondrejmirtes
Copy link
Member Author

Lots of diffs doesn't mean lots of bugs fixed 😀 The analysis is still too wrong.

@ondrejmirtes
Copy link
Member Author

Alright, so this issue-bot report is far more realistic and closer to the end results. Solving issues like https://phpstan.org/r/8d3536cc-d647-455c-8919-300cc35d7abf and https://phpstan.org/r/59b9367b-8f29-4008-8536-91dca00362df is what I had in mind.

@ondrejmirtes
Copy link
Member Author

ondrejmirtes commented Dec 19, 2025 via email

}
} elseif ($expr instanceof Expr\Empty_) {
$this->processExprNode($stmt, $expr->expr, $scope, $storage, new NoopNodeCallback(), $context->enterDeep());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why/which expressions need to be processed twice? I can see this only happens for a few ones

*/
public function cloneNode(Node $node): Node
{
$traverser = new NodeTraverser(new CloningVisitor());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see we sometimes clone nodes which have already been cloned.
(so we clone the clone)

grafik

it might make sense to prevent some unnecessary per node work on this area

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems occasionally we even clone the cloned clone.

grafik

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants