Skip to content

Crashes on module.exports.Class.prototype pattern #35228

@Jack-Works

Description

@Jack-Works

TypeScript Version: 3.8.0-dev-20191119

Search Terms:

Code

module.exports.MyClass = function() {
    this.x = 1
}
module.exports.MyClass.prototype = {
    a: function() {
        this.b = 2
    }
}
{
    "compilerOptions": {
        "allowJs": true,
        "declaration": true,
        "emitDeclarationOnly": true,
        "composite": true
    }
}

tsc -p tsconfig.json

Expected behavior:
Generate the declaration

Actual behavior:
Crash

Error: Debug Failure.
    at serializeAsAlias (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:31202:41)
    at serializeSymbolWorker (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:30980:29)
    at serializeSymbol (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:30940:38)
    at C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:30921:25
    at Map.forEach (<anonymous>)
    at visitSymbolTable (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:30920:33)
    at symbolTableToDeclarationStatements (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:30812:17)
    at C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:29673:106
    at withContext (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:29693:37)
    at Object.symbolTableToDeclarationStatements (C:\Users\Jack\Workspace\TypeScript\lib\tsc.js:29673:28)

Playground Link:

Related Issues:

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScript

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions