Skip to content

Crash in writeType when getting codefixes for invalid code #20542

@RyanCavanaugh

Description

@RyanCavanaugh

Fourslash test:

/// <reference path="fourslash.ts" />

// @noImplicitAny: true
//// function f(y, z = { p: y[

verify.not.codeFixAvailable([]);

Stack trace:

     TypeError: Cannot read property 'flags' of undefined
      at writeType (src\compiler\checker.ts:3321:29)
      at buildTypeDisplay (src\compiler\checker.ts:3316:24)
      at buildIndexSignatureDisplay (src\compiler\checker.ts:3940:21)
      at writeObjectLiteralType (src\compiler\checker.ts:3664:21)
      at writeLiteralType (src\compiler\checker.ts:3647:21)
      at writeAnonymousType (src\compiler\checker.ts:3542:25)
      at writeType (src\compiler\checker.ts:3359:25)
      at Object.buildTypeDisplay (src\compiler\checker.ts:3316:24)
      at typeToString (src\services\codefixes\inferFromUsage.ts:268:47)
      at src\services\codefixes\inferFromUsage.ts:136:40
      at Object.zipWith (src\compiler\core.ts:220:25)
      at getCodeActionForParameters (src\services\codefixes\inferFromUsage.ts:134:47)
      at Object.getActionsForAddExplicitTypeAnnotation [as getCodeActions] (src\services\codefixes\inferFromUsage.ts:71:24)
      at src\services\codeFixProvider.ts:40:35
      at Object.forEach (src\compiler\core.ts:174:32)
      at Object.getFixes (src\services\codeFixProvider.ts:39:13)
      at src\services\services.ts:1893:32
      at Object.flatMap (src\compiler\core.ts:463:27)
      at Object.getCodeFixesAtPosition (src\services\services.ts:1891:20)
      at Object.proxy.(anonymous function) [as getCodeFixesAtPosition] (src\harness\fourslash.ts:397:66)
      at src\harness\fourslash.ts:2499:45
      at Object.flatMap (src\compiler\core.ts:463:27)
      at TestState.getCodeFixActions (src\harness\fourslash.ts:2494:23)

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions