Skip to content

this.property assignment in JS often crashes the language service #22774

Closed
@mjbvz

Description

@mjbvz

From @pocesar on March 21, 2018 21:20

Version 1.22.0-insider
Commit 31c30b9
Date 2018-03-21T06:17:39.707Z
Shell 1.7.12
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

Steps to Reproduce:

  1. Open an ES7 file
  2. Use the following jsconfig.json:
{
  "compilerOptions": {
    "checkJs": true,
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es2017",
    "alwaysStrict": true,
    "moduleResolution": "node",
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitUseStrict": true,
    "strictNullChecks": false,
    "baseUrl": "./",
    "rootDir": "./",
    "allowSyntheticDefaultImports": true
  }
}
  1. Variables that are defined at the top of the file are reporting as "not being read" (with a wriggly green line below), require('./middleware') is a wrong path, when I changed it to '../../middleware', it still shows as being './middleware'

Output > Typescript is returning this error:

[Error  - 18:14:55] 'quickinfo' request failed with error.
Error processing request. Cannot read property 'members' of undefined
TypeError: Cannot read property 'members' of undefined
    at bindThisPropertyAssignment (C:\nodejs\node_modules\typescript\lib\tsserver.js:20673:66)
    at bindWorker (C:\nodejs\node_modules\typescript\lib\tsserver.js:20432:29)
    at bind (C:\nodejs\node_modules\typescript\lib\tsserver.js:20336:13)
    at visitNode (C:\nodejs\node_modules\typescript\lib\tsserver.js:13322:24)
    at Object.forEachChild (C:\nodejs\node_modules\typescript\lib\tsserver.js:13547:24)
    at bindEachChild (C:\nodejs\node_modules\typescript\lib\tsserver.js:19294:16)
    at bindChildrenWorker (C:\nodejs\node_modules\typescript\lib\tsserver.js:19383:21)
    at bindChildren (C:\nodejs\node_modules\typescript\lib\tsserver.js:19269:17)
    at bind (C:\nodejs\node_modules\typescript\lib\tsserver.js:20342:21)
    at bindEach (C:\nodejs\node_modules\typescript\lib\tsserver.js:19286:21)
    at visitNodes (C:\nodejs\node_modules\typescript\lib\tsserver.js:13327:24)
    at Object.forEachChild (C:\nodejs\node_modules\typescript\lib\tsserver.js:13536:24)
    at bindEachChild (C:\nodejs\node_modules\typescript\lib\tsserver.js:19294:16)
    at bindChildrenWorker (C:\nodejs\node_modules\typescript\lib\tsserver.js:19383:21)
    at bindChildren (C:\nodejs\node_modules\typescript\lib\tsserver.js:19269:17)
    at bindContainer (C:\nodejs\node_modules\typescript\lib\tsserver.js:19250:17)
    at bind (C:\nodejs\node_modules\typescript\lib\tsserver.js:20345:21)

PS: When doing the Reload Window it takes forever for the file to start being checked (30s+)

Does this issue occur when all extensions are disabled?: Yes

Copied from original issue: microsoft/vscode#46292

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions