Note that this bug depends on the order of the files in the file list. It is very likely in the merge code in the checker. Based on code in chrome-devtools-frontend.
// @Filename: file1.js
var Em = {};
/** @type {number} */
Em.Cee._wrapperInstance;
// @Filename: file2.js
/** @param {Em.Cee} dmv */
function oops(dmv) {
dmv._model // should be ok
// dmv._wrapperInstance // should be error
new Em.Cee(); // ok?
}
Em.Cee = class {
constructor() {
this._model = 111
}
};
Expected behavior:
Expressions dmv._model and new Em.Cee() should not be errors. dmv._wrapperInstance should be an error.
Actual behavior:
The opposite; "'_model' is not found on 'typeof Em.Cee'" and "Cannot new something that isn't callable or constructable."
Note that this bug depends on the order of the files in the file list. It is very likely in the merge code in the checker. Based on code in chrome-devtools-frontend.
Expected behavior:
Expressions
dmv._modelandnew Em.Cee()should not be errors.dmv._wrapperInstanceshould be an error.Actual behavior:
The opposite; "'_model' is not found on 'typeof Em.Cee'" and "Cannot new something that isn't callable or constructable."