Skip to content

LS error when @implements is empty #18707

@DanielRosenwasser

Description

@DanielRosenwasser
/// @ts-check

class Base {
    bar;
}

/**
 * @augments
 */
class Derived extends Base {
    foo() {
        this./**/
    }
}

Get completions at the /**/

Expected: bar, foo, or just no completions?
Actual: The following error, and the LS gets into a bad state after that

[Error  - 4:38:29 PM] 'completions' request failed with error.
Error processing request. Cannot read property 'type' of undefined
TypeError: Cannot read property 'type' of undefined
    at resolveBaseTypesOfClass (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:23705:73)
    at getBaseTypes (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:23664:25)
    at resolveObjectTypeMembers (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:24090:29)
    at resolveTypeReferenceMembers (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:24120:13)
    at resolveStructuredTypeMembers (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:24430:25)
    at getPropertiesOfObjectType (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:24453:24)
    at getPropertiesOfType (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:24492:17)
    at Object.getAugmentedPropertiesOfType (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:37694:52)
    at TypeObject.getApparentProperties (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:76427:33)
    at addTypeProperties (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:64109:44)
    at getTypeScriptMemberSymbols (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:64105:21)
    at getCompletionData (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:64034:17)
    at Object.getCompletionsAtPosition (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:63683:34)
    at Object.getCompletionsAtPosition (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:77089:35)
    at IOSession.Session.getCompletions (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:83177:64)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:82284:61)
    at C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:83623:88
    at IOSession.Session.executeWithRequestId (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:83614:28)
    at IOSession.Session.executeCommand (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:83623:33)
    at IOSession.Session.onMessage (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:83643:35)
    at Interface.<anonymous> (C:\Users\drosen\AppData\Roaming\npm\node_modules\typescript\lib\tsserver.js:84790:27)
    at emitOne (events.js:96:13)
    at Interface.emit (events.js:188:7)
    at Interface._onLine (readline.js:247:10)
    at Interface.<anonymous> (readline.js:384:12)
    at Array.forEach (native)
    at Interface._normalWrite (readline.js:383:11)
    at Socket.ondata (readline.js:107:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScript

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions