Skip to content

Find All References Does not Work For constructors with Access Modifiers #13330

@mjbvz

Description

@mjbvz

TypeScript Version: 2.2.0-dev.20170106

Code

class X {
  public constructor() {

  }
}

var x = new X();

Try to find all references for the ctor of class X.

Expected
Returns the ctor reference from new call on the last line.

Actual
No references returned.

On the VSCode side, we execute the following against the Ts server

[Trace - 1:36:47 PM] Sending request: references (22). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/matb/projects/sand/main.ts",
    "line": 2,
    "offset": 13
}
[Trace - 1:36:47 PM] Response received: references (22). Request took 1 ms. Success: false . Message: Error processing request. Debug Failure. False expression: 
Error: Debug Failure. False expression: 
    at Object.assert (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:1807:23)
    at findOwnConstructorCalls (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57174:34)
    at findAdditionalConstructorReferences (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57153:39)
    at /Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57123:33
    at Object.forEach (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:215:30)
    at getReferencesInNode (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57090:24)
    at getReferencedSymbolsForNode (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:56904:25)
    at Object.findReferencedSymbols (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:56853:28)
    at findReferencedSymbols (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:65114:41)
    at Object.getReferencesAtPosition (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:65105:37)
[Error - 1:36:47 PM] 'references' request failed with error.
Error processing request. Debug Failure. False expression: 
Error: Debug Failure. False expression: 
    at Object.assert (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:1807:23)
    at findOwnConstructorCalls (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57174:34)
    at findAdditionalConstructorReferences (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57153:39)
    at /Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57123:33
    at Object.forEach (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:215:30)
    at getReferencesInNode (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:57090:24)
    at getReferencedSymbolsForNode (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:56904:25)
    at Object.findReferencedSymbols (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:56853:28)
    at findReferencedSymbols (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:65114:41)
    at Object.getReferencesAtPosition (/Users/matb/projects/sand/node_modules/typescript/lib/tsserver.js:65105:37)

This works if you remove the public access modifier from the constructor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issueVS Code TrackedThere is a VS Code equivalent to this issue

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions