System modules - Hoist classes like other variables (#9639)

This commit is contained in:
Guy Bedford
2019-03-11 00:33:19 +02:00
committed by Nicolò Ribaudo
parent dd2ffda387
commit a891b73401
7 changed files with 122 additions and 53 deletions

View File

@@ -1,12 +1,14 @@
System.register([], function (_export, _context) {
"use strict";
var Foo;
_export("default", void 0);
return {
setters: [],
execute: function () {
class Foo {}
_export("default", Foo);
_export("default", Foo = class Foo {});
}
};
});

View File

@@ -1,13 +1,13 @@
System.register([], function (_export, _context) {
"use strict";
var foo, foo2, foo3, foo4, foo5, foo6;
var foo8, foo, foo2, foo3, foo4, foo5, foo6;
function foo7() {}
_export("foo7", foo7);
_export({
foo7: foo7,
foo8: void 0,
foo3: void 0,
foo5: void 0
});
@@ -23,9 +23,7 @@ System.register([], function (_export, _context) {
_export("foo6", foo6 = 3);
class foo8 {}
_export("foo8", foo8);
_export("foo8", foo8 = class foo8 {});
_export("foo3", foo3 = 5);
}

View File

@@ -0,0 +1,15 @@
export function hoisted () {
return HoistedClass, HoistedClassExport, HoistedClassDefaultExport;
}
class HoistedClass {
}
export class HoistedClassExport {
}
export default class HoistedClassDefaultExport {
}

View File

@@ -0,0 +1,26 @@
System.register([], function (_export, _context) {
"use strict";
var HoistedClass, HoistedClassExport, HoistedClassDefaultExport;
function hoisted() {
return HoistedClass, HoistedClassExport, HoistedClassDefaultExport;
}
_export({
hoisted: hoisted,
HoistedClassExport: void 0,
default: void 0
});
return {
setters: [],
execute: function () {
HoistedClass = class HoistedClass {};
_export("HoistedClassExport", HoistedClassExport = class HoistedClassExport {});
_export("default", HoistedClassDefaultExport = class HoistedClassDefaultExport {});
}
};
});

View File

@@ -7,9 +7,10 @@ System.register(["./evens"], function (_export, _context) {
return _export("p", p = isEven(n) ? n + 1 : n + 2);
}
_export("nextOdd", nextOdd);
_export("a", void 0);
_export({
nextOdd: nextOdd,
a: void 0
});
return {
setters: [function (_evens) {

View File

@@ -8,12 +8,12 @@ System.register([], function (_export, _context) {
_export("c", +c + 1), c++;
}
_export("a", a);
function b() {
a();
}
_export("a", a);
return {
setters: [],
execute: function () {