-
Notifications
You must be signed in to change notification settings - Fork 13.1k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: LS: Quick FixesEditor-provided fixes, often called code actions.Editor-provided fixes, often called code actions.
Milestone
Description
Bug Report
🔎 Search Terms
Debug Failure. False expression: Token end is child endgetCodeFixesAtPosition- TS2339 Property 'x' does not exist on type 'Y'
🕗 Version & Regression Information
- This is a crash
- Found this issue on
5.0.4and still exists at@nextof5.2.0-dev.20230521 - Validated the bug still exists at
4.9.3
⏯ Playground Link
Playground link with relevant code
💻 Code
import { External } from 'some-package'; // This package has an unknown implementation. No Types.
export default class Something extends External {
constructor(...args) {
super(...args);
this.setRoutes({
'pizza.a': '',
'pizza.b': '',
'pizza.c': '',
'pizza.d': '',
'pizza.e': '',
'pizza.f': '',
'pizza.g': '',
'pizza.h': '',
'pizza.i': '',
'pizza.j': '',
'pizza.k': '',
'pizza.l': '',
'pizza.m': '',
'pizza.n': '',
'pizza.o': '',
'pizza.p': '',
'pizza.q': '',
'pizza.r': '',
'pizza.s': '',
'pizza.t': '',
'pizza.u': '',
'pizza.v': '',
'pizza.w': '',
'pizza.x': '',
'pizza.y': '',
'pizza.z': '',
});
}
}🙁 Actual behavior
Uncaught Error Error: Debug Failure. False expression: Token end is child end
at fail (/node_modules/typescript/lib/typescript.js:1811:19)
at assert (/node_modules/typescript/lib/typescript.js:1830:13)
at processChildNode (/node_modules/typescript/lib/typescript.js:166208:19)
at <anonymous> (/node_modules/typescript/lib/typescript.js:166139:11)
at visitNode2 (/node_modules/typescript/lib/typescript.js:27583:20)
at forEachChildInPropertySignature (/node_modules/typescript/lib/typescript.js:28046:65)
at forEachChild (/node_modules/typescript/lib/typescript.js:27676:37)
at processNode (/node_modules/typescript/lib/typescript.js:166136:7)
at processChildNode (/node_modules/typescript/lib/typescript.js:166215:9)
at processChildNodes (/node_modules/typescript/lib/typescript.js:166258:34)
at <anonymous> (/node_modules/typescript/lib/typescript.js:166152:11)
at visitNodes (/node_modules/typescript/lib/typescript.js:27588:16)
at forEachChildInTypeLiteral (/node_modules/typescript/lib/typescript.js:28105:18)
at forEachChild (/node_modules/typescript/lib/typescript.js:27676:37)
at processNode (/node_modules/typescript/lib/typescript.js:166136:7)
at processChildNode (/node_modules/typescript/lib/typescript.js:166215:9)
at <anonymous> (/node_modules/typescript/lib/typescript.js:166139:11)
at visitNode2 (/node_modules/typescript/lib/typescript.js:27583:20)
at forEachChildInParameter (/node_modules/typescript/lib/typescript.js:28040:183)
at forEachChild (/node_modules/typescript/lib/typescript.js:27676:37)
at processNode (/node_modules/typescript/lib/typescript.js:166136:7)
at processChildNode (/node_modules/typescript/lib/typescript.js:166215:9)
at processChildNodes (/node_modules/typescript/lib/typescript.js:166258:34)
at <anonymous> (/node_modules/typescript/lib/typescript.js:166152:11)
at visitNodes (/node_modules/typescript/lib/typescript.js:27588:16)
at forEachChildInMethodDeclaration (/node_modules/typescript/lib/typescript.js:28069:279)
at forEachChild (/node_modules/typescript/lib/typescript.js:27676:37)
at processNode (/node_modules/typescript/lib/typescript.js:166136:7)
at formatSpanWorker (/node_modules/typescript/lib/typescript.js:165944:7)
at <anonymous> (/node_modules/typescript/lib/typescript.js:165884:107)
at getFormattingScanner (/node_modules/typescript/lib/typescript.js:164659:17)
at formatNodeGivenIndentation (/node_modules/typescript/lib/typescript.js:165884:12)
at getFormattedTextOfNode (/node_modules/typescript/lib/typescript.js:164392:49)
at format (/node_modules/typescript/lib/typescript.js:164372:33)
at computeNewText (/node_modules/typescript/lib/typescript.js:164373:225)
at <anonymous> (/node_modules/typescript/lib/typescript.js:164334:31)
at mapDefined (/node_modules/typescript/lib/typescript.js:374:24)
at <anonymous> (/node_modules/typescript/lib/typescript.js:164332:34)
at mapDefined (/node_modules/typescript/lib/typescript.js:374:24)
at getTextChangesFromChanges (/node_modules/typescript/lib/typescript.js:164326:18)
at getChanges (/node_modules/typescript/lib/typescript.js:164314:41)
at with (/node_modules/typescript/lib/typescript.js:163812:26)
at addMethodDeclarationChanges (/node_modules/typescript/lib/typescript.js:142592:102)
at getActionsForMissingMethodDeclaration (/node_modules/typescript/lib/typescript.js:142593:61)
at getCodeActions (/node_modules/typescript/lib/typescript.js:142913:30)
at <anonymous> (/node_modules/typescript/lib/typescript.js:137216:48)
at flatMap (/node_modules/typescript/lib/typescript.js:303:19)
at getFixes (/node_modules/typescript/lib/typescript.js:137216:12)
at <anonymous> (/node_modules/typescript/lib/typescript.js:133697:35)
at flatMap (/node_modules/typescript/lib/typescript.js:303:19)
at getCodeFixesAtPosition (/node_modules/typescript/lib/typescript.js:133695:14)
🙂 Expected behavior
getCodeFixesAtPosition returns an empty array of codefixes without throwing an error.
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: LS: Quick FixesEditor-provided fixes, often called code actions.Editor-provided fixes, often called code actions.