7c50bccec2
* migrate nullish coalescing commit * add more test case * add branch type check test * add more tests * fix nullish precedence * update public api * add rescan question question token to fix regression * update public api baseline * Added tests that emit for nullish coalescing operator conforming with grammar restrictions when assertions are used. * Fixed emit to hoist temporary variables (they previously went undeclared). Added tests to ensure calls and property accesses are only called once. * use not equal to null * rename factory * add grammar check * fix more cases * Fix handling of nullish coalescing oprator in expando objects. * Fixed classifier to support ?? operator. * update baseline * accept baseline * fix review * update emitter and more testcase * update control flow * make linter happy * update libs * avoid unnecessary assert * fix typooo * Fixes for control-flow analysis
28 lines
483 B
TypeScript
28 lines
483 B
TypeScript
// @noEmit: true
|
|
// @allowJs: true
|
|
// @checkJs: true
|
|
// @target: esnext
|
|
// @lib: es6,dom
|
|
// @Filename: a.js
|
|
var my = my ?? {};
|
|
my.app = my.app ?? {};
|
|
|
|
my.app.Application = (function () {
|
|
var Application = function () {
|
|
//...
|
|
};
|
|
return Application;
|
|
})();
|
|
my.app.Application()
|
|
|
|
// @Filename: b.js
|
|
var min = window.min ?? {};
|
|
min.app = min.app ?? {};
|
|
|
|
min.app.Application = (function () {
|
|
var Application = function () {
|
|
//...
|
|
};
|
|
return Application;
|
|
})();
|
|
min.app.Application()
|