-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: FormatterThe issue relates to the built-in formatterThe issue relates to the built-in formatterDomain: Quick FixesEditor-provided fixes, often called code actions.Editor-provided fixes, often called code actions.Domain: Refactoringse.g. extract to constant or function, rename symbole.g. extract to constant or function, rename symbolDomain: TransformsRelates to the public transform APIRelates to the public transform APIEffort: ModerateRequires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Requires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Fix AvailableA PR has been opened for this issueA PR has been opened for this issueHelp WantedYou can do thisYou can do this
Milestone
Description
Repro-ish of #52029
File: foo.tsx
let React: any;
let foo = 10;
let x =
<div abc={{ foo = 10 }}></div>
<div abc={{ foo = 10 }}></div>
Request the "Wrap in JSX Fragment" quick fix.
Call Stack
Response received: getCodeFixes (3145). Request took 8 ms. Success: false . Message: Error processing request. Debug Failure. False expression.
Error: Debug Failure. False expression.
at consumeTokenAndAdvanceScanner ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:165008:13)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164917:9)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164856:9
at visitNode2 ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29360:18)
at forEachChildInShorthandPropertyAssignment ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29404:234)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at processChildNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164975:32)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164869:9
at visitNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29365:14)
at forEachChildInObjectLiteralExpression ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29517:12)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164856:9
at visitNode2 ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29360:18)
at forEachChildInJsxExpression ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29744:55)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164856:9
at visitNode2 ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29360:18)
at forEachChildInJsxAttribute ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29738:45)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at processChildNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164975:32)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164869:9
at visitNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29365:14)
at forEachChildInJsxAttributes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29735:12)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164856:9
at visitNode2 ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29360:18)
at forEachChildInJsxOpeningOrSelfClosingElement ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29848:97)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164856:9
at visitNode2 ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29360:18)
at forEachChildInJsxElement ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29727:12)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at processChildNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164932:7)
at processChildNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164975:32)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164869:9
at visitNodes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29365:14)
at forEachChildInJsxFragment ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29730:56)
at forEachChild ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29873:35)
at processNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164853:5)
at formatSpanWorker ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164661:5)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164601:105
at getFormattingScanner ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:163421:15)
at Object.formatNodeGivenIndentation ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:164601:10)
at getFormattedTextOfNode ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162819:43)
at format ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162799:27)
at computeNewText ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162800:219)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162761:25
at mapDefined ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:3064:22)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162759:28
at mapDefined ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:3064:22)
at Object.getTextChangesFromChanges ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162753:12)
at ChangeTracker.getChanges ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162641:35)
at ChangeTracker.with ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:162139:20)
at Object.getCodeActionsToWrapJsxInFragment [as getCodeActions] ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:146311:62)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:137137:46
at flatMap ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:2975:17)
at Object.getFixes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:137137:10)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:134310:33
at flatMap ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:2975:17)
at Object.getCodeFixesAtPosition ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:134308:12)
at IpcIOSession.getCodeFixes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:176836:50)
at getCodeFixes ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:174969:43)
at [User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:177138:69
at IpcIOSession.executeWithRequestId ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:177130:14)
at IpcIOSession.executeCommand ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:177138:29)
at IpcIOSession.onMessage ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:177180:51)
at process.<anonymous> ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:178655:14)
at process.emit (node:events:526:28)
Notes
- Doesn't repro if there is a newline at the beginning of the file.
- Doesn't repro with a
declare
modifier on any of thelet
s - Doesn't repro if the JSX is contained in a function
Doesn't repro if there's a trailinggotta come back to this - might be a Heisenbug;
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: FormatterThe issue relates to the built-in formatterThe issue relates to the built-in formatterDomain: Quick FixesEditor-provided fixes, often called code actions.Editor-provided fixes, often called code actions.Domain: Refactoringse.g. extract to constant or function, rename symbole.g. extract to constant or function, rename symbolDomain: TransformsRelates to the public transform APIRelates to the public transform APIEffort: ModerateRequires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Requires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Fix AvailableA PR has been opened for this issueA PR has been opened for this issueHelp WantedYou can do thisYou can do this