Conversation
…voked` extended diagnostic A prior fix in angular#57291 has introduced the potential for false negatives, as the used directives that were checked can be present anywhere in the template, not necessarily on the current element that is being checked. Fixing this requires reshuffling the check's logic a bit, as the extended diagnostics infrastructure does not provide access to ancestor nodes, nor do the AST nodes themselves. The performance regression that was fixed in angular#57291 doesn't reappear with this change, although it may affect performance slightly as potentially more bindings may end up being checked.
…levant Symbol lookups are somewhat expensive and this instance is easily avoided, as it is expected that many property reads will not be one of the relevant properties.
thePunderWoman
marked this pull request as draft
May 21, 2025 15:28
This was referenced Oct 14, 2025
JoostK
added a commit
to JoostK/angular
that referenced
this pull request
Oct 14, 2025
…ed" check This fixes a performance regression from angular#63754, which is almost a revert of the prior performance fix in angular#57291; the latter was provided as quick fix to address the severe performance overhead this extended diagnostic used to have, with angular#57337 as follow-up change to address the false negatives that were introduced in angular#57291. That follow-up never landed, though, so this commit is re-applying the changes from angular#57337 to fix the performance regression. Fixes angular#64403
Member
Author
|
Superseded by #64410 |
AndrewKushnir
pushed a commit
that referenced
this pull request
Oct 14, 2025
…ed" check (#64410) This fixes a performance regression from #63754, which is almost a revert of the prior performance fix in #57291; the latter was provided as quick fix to address the severe performance overhead this extended diagnostic used to have, with #57337 as follow-up change to address the false negatives that were introduced in #57291. That follow-up never landed, though, so this commit is re-applying the changes from #57337 to fix the performance regression. Fixes #64403 PR Close #64410
AndrewKushnir
pushed a commit
that referenced
this pull request
Oct 14, 2025
…ed" check (#64410) This fixes a performance regression from #63754, which is almost a revert of the prior performance fix in #57291; the latter was provided as quick fix to address the severe performance overhead this extended diagnostic used to have, with #57337 as follow-up change to address the false negatives that were introduced in #57291. That follow-up never landed, though, so this commit is re-applying the changes from #57337 to fix the performance regression. Fixes #64403 PR Close #64410
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A prior fix in #57291 has introduced the potential for false negatives, as the used directives
that were checked can be present anywhere in the template, not necessarily on the current element
that is being checked. Fixing this requires reshuffling the check's logic a bit, as the extended
diagnostics infrastructure does not provide access to ancestor nodes, nor do the AST nodes
themselves.
The performance regression that was fixed in #57291 doesn't reappear with this change, although
it may affect performance slightly as potentially more bindings may end up being checked.