-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFix AvailableA PR has been opened for this issueA PR has been opened for this issue
Milestone
Description
TypeScript Version: 3.7.0-dev.20191015
Search Terms:
getFlowTypeOfReference
Code
Project structure:
<project_root>
|_ package.json
|_ node_modules
|_ tsconfig.json
|_ src
|_ Graphic.js
where package.json
is
{
"name": "tsc-error",
"description": "sample project to reproduce an error using tsc",
"version": "0.1",
"devDependencies": {
"typescript": "^3.7.0-dev.20191015"
}
}
and tsconfig.json
is
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist",
"declaration": true,
"allowJs": true
},
"lib": [
"es5","es2015", "es6", "dom"
],
"include": ["src"],
"exclude": [ "node_modules" ]
}
and Graphic.js
a JS file which still uses AMD modules
define([
], function() {
var NULL_WRITABLE_HIDDEN = Object.freeze({
});
function Graphic() {
Object.defineProperty(this, "_onlineResource", NULL_WRITABLE_HIDDEN);
Object.defineProperty(this, "_inlineContent", NULL_WRITABLE_HIDDEN);
}
Graphic.prototype = Object.create(Object.prototype);
Graphic.prototype.constructor = Graphic;
Object.defineProperty(Graphic.prototype, "inlineContent", {
get: function() {
return this._inlineContent;
},
set: function(ic) {
this._inlineContent = ic;
this._onlineResource = null;
}
});
return Graphic;
});
Running the tsc
command produces an error.
Expected behavior:
The Typescript compiler can finish compilation without crashing
Actual behavior:
Typescript compiler threw an error
/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:78447
throw e;
^
TypeError: Cannot read property 'flags' of undefined
at getFlowTypeOfReference (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:41966:80)
at tryGetThisTypeAt (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:43110:32)
at checkThisExpression (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:43081:24)
at checkExpressionWorker (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:48519:28)
at checkExpression (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:48473:38)
at checkOptionalExpression (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:40156:24)
at checkPropertyAccessExpressionOrQualifiedName (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:44878:22)
at checkPropertyAccessExpression (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:44866:20)
at checkExpressionWorker (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:48546:28)
at checkExpression (/tmp/tsc-problem/node_modules/typescript/lib/tsc.js:48473:38)
Playground Link:
Related Issues:
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFix AvailableA PR has been opened for this issueA PR has been opened for this issue