mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-29 09:29:11 -05:00
Emit export internal import equals declaration in es6 format
This commit is contained in:
@@ -5169,7 +5169,13 @@ module ts {
|
||||
(!isExternalModule(currentSourceFile) && resolver.isTopLevelValueImportEqualsWithEntityName(node))) {
|
||||
emitLeadingComments(node);
|
||||
emitStart(node);
|
||||
if (!(node.flags & NodeFlags.Export)) write("var ");
|
||||
if (isES6ModuleMemberDeclaration(node)) {
|
||||
write("export ");
|
||||
write("var ");
|
||||
}
|
||||
else if (!(node.flags & NodeFlags.Export)) {
|
||||
write("var ");
|
||||
}
|
||||
emitModuleMemberName(node);
|
||||
write(" = ");
|
||||
emit(node.moduleReference);
|
||||
|
||||
46
tests/baselines/reference/es6ModuleInternalImport.js
Normal file
46
tests/baselines/reference/es6ModuleInternalImport.js
Normal file
@@ -0,0 +1,46 @@
|
||||
//// [es6ModuleInternalImport.ts]
|
||||
export module m {
|
||||
export var a = 10;
|
||||
}
|
||||
export import a1 = m.a;
|
||||
import a2 = m.a;
|
||||
var x = a1 + a2;
|
||||
export module m1 {
|
||||
export import a3 = m.a;
|
||||
import a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = a3 + a4;
|
||||
}
|
||||
module m2 {
|
||||
export import a3 = m.a;
|
||||
import a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = a3 + a4;
|
||||
var x4 = m1.a3 + m2.a3;
|
||||
}
|
||||
|
||||
//// [es6ModuleInternalImport.js]
|
||||
var m;
|
||||
(function (m) {
|
||||
m.a = 10;
|
||||
})(m || (m = {}));
|
||||
export { m };
|
||||
export var a1 = m.a;
|
||||
var a2 = m.a;
|
||||
var x = a1 + a2;
|
||||
var m1;
|
||||
(function (m1) {
|
||||
m1.a3 = m.a;
|
||||
var a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = m1.a3 + a4;
|
||||
})(m1 || (m1 = {}));
|
||||
export { m1 };
|
||||
var m2;
|
||||
(function (m2) {
|
||||
m2.a3 = m.a;
|
||||
var a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = m2.a3 + a4;
|
||||
var x4 = m1.a3 + m2.a3;
|
||||
})(m2 || (m2 = {}));
|
||||
83
tests/baselines/reference/es6ModuleInternalImport.types
Normal file
83
tests/baselines/reference/es6ModuleInternalImport.types
Normal file
@@ -0,0 +1,83 @@
|
||||
=== tests/cases/compiler/es6ModuleInternalImport.ts ===
|
||||
export module m {
|
||||
>m : typeof m
|
||||
|
||||
export var a = 10;
|
||||
>a : number
|
||||
}
|
||||
export import a1 = m.a;
|
||||
>a1 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
import a2 = m.a;
|
||||
>a2 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
var x = a1 + a2;
|
||||
>x : number
|
||||
>a1 + a2 : number
|
||||
>a1 : number
|
||||
>a2 : number
|
||||
|
||||
export module m1 {
|
||||
>m1 : typeof m1
|
||||
|
||||
export import a3 = m.a;
|
||||
>a3 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
import a4 = m.a;
|
||||
>a4 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
var x = a1 + a2;
|
||||
>x : number
|
||||
>a1 + a2 : number
|
||||
>a1 : number
|
||||
>a2 : number
|
||||
|
||||
var x2 = a3 + a4;
|
||||
>x2 : number
|
||||
>a3 + a4 : number
|
||||
>a3 : number
|
||||
>a4 : number
|
||||
}
|
||||
module m2 {
|
||||
>m2 : typeof m2
|
||||
|
||||
export import a3 = m.a;
|
||||
>a3 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
import a4 = m.a;
|
||||
>a4 : number
|
||||
>m : typeof m
|
||||
>a : number
|
||||
|
||||
var x = a1 + a2;
|
||||
>x : number
|
||||
>a1 + a2 : number
|
||||
>a1 : number
|
||||
>a2 : number
|
||||
|
||||
var x2 = a3 + a4;
|
||||
>x2 : number
|
||||
>a3 + a4 : number
|
||||
>a3 : number
|
||||
>a4 : number
|
||||
|
||||
var x4 = m1.a3 + m2.a3;
|
||||
>x4 : number
|
||||
>m1.a3 + m2.a3 : number
|
||||
>m1.a3 : number
|
||||
>m1 : typeof m1
|
||||
>a3 : number
|
||||
>m2.a3 : number
|
||||
>m2 : typeof m2
|
||||
>a3 : number
|
||||
}
|
||||
20
tests/cases/compiler/es6ModuleInternalImport.ts
Normal file
20
tests/cases/compiler/es6ModuleInternalImport.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// @target: ES6
|
||||
export module m {
|
||||
export var a = 10;
|
||||
}
|
||||
export import a1 = m.a;
|
||||
import a2 = m.a;
|
||||
var x = a1 + a2;
|
||||
export module m1 {
|
||||
export import a3 = m.a;
|
||||
import a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = a3 + a4;
|
||||
}
|
||||
module m2 {
|
||||
export import a3 = m.a;
|
||||
import a4 = m.a;
|
||||
var x = a1 + a2;
|
||||
var x2 = a3 + a4;
|
||||
var x4 = m1.a3 + m2.a3;
|
||||
}
|
||||
Reference in New Issue
Block a user