Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(61867): fix find-all-refs for constructors involving string literals#61869

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
a-tarasyuk wants to merge1 commit intomicrosoft:main
base:main
Choose a base branch
Loading
froma-tarasyuk:fix/61867

Conversation

a-tarasyuk
Copy link
Contributor

Fixes#61867


Fixregression infix-all-refs for constructors with string literals by moving the length check after node kind checks

@typescript-bottypescript-bot added the For Uncommitted BugPR for untriaged, rejected, closed or missing bug labelJun 14, 2025
isLiteralNameOfPropertyDeclarationOrIndexAccess(str) ||
isNameOfModuleDeclaration(node) ||
isExpressionOfExternalModuleImportEqualsDeclaration(node) ||
(isCallExpression(node.parent) && isBindableObjectDefinePropertyCall(node.parent) && node.parent.arguments[1] === node) ||
isImportOrExportSpecifier(node.parent)
);
) && str.text.length === searchSymbolName.length;
Copy link
Contributor

Choose a reason for hiding this comment

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

this might fix the issue at hand but this check could be seen as (minor) perf optimization - it should be cheaper to perform this length-based check first

the true issue here, I feel, is that something that claims to be a StringLiteral... doesn't behave like one. AStringLiteralLike must have.text - it's an invariant that is broken here.

I feel like this is closer to what the proper fix should look like:Andarist@38551b1

But I'd fully expect it to need some adjustments. What I don't feel confident enough:

  • should this be somehow also passed to object allocators?
  • maybe thetext assignment should be handled byaddSyntheticNodes as that's a function that deals with the scanner
  • and maybe then a custom/extraStringLiteralObject wouldn't be needed? One could cast and assign.text to the createdTokenObject
  • obviously the proposed fix might require some extra other properties to be set - what aboutsingleQuote? Is it safely omittable?
  • it feels like string literals wouldn't necessarily be the only token kinds that might be broken right now

jakebailey reacted with thumbs up emoji
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@AndaristAndaristAndarist left review comments

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
For Uncommitted BugPR for untriaged, rejected, closed or missing bug
Projects
Status: Not started
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

TypeError: Cannot read properties of undefined (reading 'length')
3 participants
@a-tarasyuk@Andarist@typescript-bot

[8]ページ先頭

©2009-2025 Movatter.jp