3c42760765
* Cache JS inferred class type symbol Note that many sources merge into a single target, so the *source* [links] is the one that caches the merged target. The reason this is a problem is not that many sources merge into a single target, but that both getTypeOfSymbol and getDeclaredTypeOfSymbol end up calling mergeJSSymbols with the same [source,target] pair. The merge should not happen twice. * Remove more verbose debug assertion message * Fix isJSConstructor check + update baselines * inferClassSymbol cache now track multiple targets
26 lines
346 B
TypeScript
26 lines
346 B
TypeScript
// @Filename: prototypePropertyAssignmentMergeAcrossFiles2.js
|
|
// @allowJs: true
|
|
// @checkJs: true
|
|
// @noEmit: true
|
|
var Ns = {}
|
|
Ns.One = function() {};
|
|
Ns.Two = function() {};
|
|
|
|
Ns.One.prototype = {
|
|
ok() {},
|
|
};
|
|
Ns.Two.prototype = {
|
|
}
|
|
|
|
// @Filename: other.js
|
|
/**
|
|
* @type {Ns.One}
|
|
*/
|
|
var one;
|
|
one.wat;
|
|
/**
|
|
* @type {Ns.Two}
|
|
*/
|
|
var two;
|
|
two.wat;
|