Skip to content

Shorthand properties with = cause assertion failures in consumeTokenAndAdvanceScanner #52137

Closed

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 the lets
  • Doesn't repro if the JSX is contained in a function
  • Doesn't repro if there's a trailing ; gotta come back to this - might be a Heisenbug

Activity

  1. changed the title [-]Assertion failure in JSX fragments quick fix[/-] [+]Object shorthands with `=` causes assertion failures in `consumeTokenAndAdvanceScanner`[/+] on Jan 7, 2023
  2. changed the title [-]Object shorthands with `=` causes assertion failures in `consumeTokenAndAdvanceScanner`[/-] [+]Object shorthands with `=` cause assertion failures in `consumeTokenAndAdvanceScanner`[/+] on Jan 7, 2023
  3. DanielRosenwasser commented on Jan 7, 2023

    @DanielRosenwasser
    MemberAuthor

    Similar:

    declare let x: any, y: any, asd: any;
    
    let obj = [|{
        ...{ x = { lol = 10 }},
        ...{ y = 20}
    }|];

    Extract constant on that range.

    Call Stack
    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 forEachChildInSpreadAssignment ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29407: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 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 forEachChildInVariableDeclaration ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29422:123)
        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 forEachChildInVariableDeclarationList ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29587: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 forEachChildInVariableStatement ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:29584:114)
        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 extractConstantInScope ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:159682:31)
        at getConstantExtractionAtIndex ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:159176:10)
        at Object.getRefactorEditsToExtractSymbol [as getEditsForAction] ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:158803:12)
        at Object.getEditsForRefactor ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:155509:31)
        at Object.getEditsForRefactor2 [as getEditsForRefactor] ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:134686:32)
        at IpcIOSession.getEditsForRefactor ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:176763:49)
        at getEditsForRefactor ([User_Dir]/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-5.0.202301050/node_modules/typescript/lib/tsserver.js:175006: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)
    
  4. DanielRosenwasser commented on Jan 7, 2023

    @DanielRosenwasser
    MemberAuthor

    I'm going to guess that these have to do with visitEachChild not iterating over the equalsToken, whereas forEachChild will. This is presumably because equalsToken is used solely for parser recovery reporting grammar errors later, whereas our factory functions don't even anticipate this - so visitEachChild never had to handle it at all.

    So when visitEachChild is used to assign new positions to the generated nodes

    const visited = visitEachChild(node, assignPositionsToNode, textChangesTransformationContext, assignPositionsToNodeArray, assignPositionsToNode);

    it doesn't update the old equalsToken node.

    Later on, forEachChild ensures that the range is contained

    Debug.assert(rangeContainsRange(parent, currentTokenInfo.token));

    and it's not.

    Ron Buckton (@rbuckton) previously left a comment in the parser about this - so maybe we can get rid of equalsToken altogether?

    // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful.
    node.equalsToken = equalsToken;

  5. changed the title [-]Object shorthands with `=` cause assertion failures in `consumeTokenAndAdvanceScanner`[/-] [+]Shorthand properties with `=` cause assertion failures in `consumeTokenAndAdvanceScanner`[/+] on Jan 7, 2023
  6. fatcerberus commented on Jan 9, 2023

    @fatcerberus

    This is what happens when you consume too many tokens 🐽

  7. locked as resolved and limited conversation to collaborators on Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugA bug in TypeScriptDomain: API: TransformsRelates to the public transform APIDomain: FormatterThe issue relates to the built-in formatterDomain: LS: Quick FixesEditor-provided fixes, often called code actions.Domain: LS: Refactoringse.g. extract to constant or function, rename symbolEffort: ModerateRequires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Fix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions