mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 11:54:44 -06:00
do not emit exportsStar function if module does not expose any values
This commit is contained in:
parent
331d26f402
commit
32b1ad36ec
@ -14493,6 +14493,33 @@ namespace ts {
|
||||
|
||||
// Emitter support
|
||||
|
||||
function moduleExportsSomeValue(moduleReferenceExpression: Expression): boolean {
|
||||
let moduleSymbol = resolveExternalModuleName(moduleReferenceExpression.parent, moduleReferenceExpression);
|
||||
if (!moduleSymbol) {
|
||||
// module not found - be conservative
|
||||
return true;
|
||||
}
|
||||
|
||||
const hasExportAssignment = getExportAssignmentSymbol(moduleSymbol) !== undefined;
|
||||
moduleSymbol = resolveExternalModuleSymbol(moduleSymbol);
|
||||
|
||||
const symbolLinks = getSymbolLinks(moduleSymbol);
|
||||
if (symbolLinks.exportsSomeValue == undefined) {
|
||||
// for export assignments - check if resolved symbol for RHS is itself a value
|
||||
// otherwise - check if at least one export is value
|
||||
symbolLinks.exportsSomeValue = hasExportAssignment
|
||||
? !!(moduleSymbol.flags & SymbolFlags.Value)
|
||||
: forEachValue(getExportsOfModule(moduleSymbol), isValue);
|
||||
}
|
||||
|
||||
return symbolLinks.exportsSomeValue;
|
||||
|
||||
function isValue(s: Symbol): boolean {
|
||||
s = resolveSymbol(s);
|
||||
return s && !!(s.flags & SymbolFlags.Value);
|
||||
}
|
||||
}
|
||||
|
||||
// When resolved as an expression identifier, if the given node references an exported entity, return the declaration
|
||||
// node of the exported entity's container. Otherwise, return undefined.
|
||||
function getReferencedExportContainer(node: Identifier): SourceFile | ModuleDeclaration | EnumDeclaration {
|
||||
@ -14823,7 +14850,8 @@ namespace ts {
|
||||
getBlockScopedVariableId,
|
||||
getReferencedValueDeclaration,
|
||||
getTypeReferenceSerializationKind,
|
||||
isOptionalParameter
|
||||
isOptionalParameter,
|
||||
moduleExportsSomeValue
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -406,7 +406,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
let externalImports: (ImportDeclaration | ImportEqualsDeclaration | ExportDeclaration)[];
|
||||
let exportSpecifiers: Map<ExportSpecifier[]>;
|
||||
let exportEquals: ExportAssignment;
|
||||
let hasExportStars: boolean;
|
||||
let hasExportStarsToExportValues: boolean;
|
||||
|
||||
/** Write emitted output to disk */
|
||||
let writeEmittedFiles = writeJavaScriptFile;
|
||||
@ -5892,15 +5892,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
}
|
||||
else {
|
||||
// export * from "foo"
|
||||
writeLine();
|
||||
write("__export(");
|
||||
if (modulekind !== ModuleKind.AMD) {
|
||||
emitRequire(getExternalModuleName(node));
|
||||
if (hasExportStarsToExportValues && resolver.moduleExportsSomeValue(node.moduleSpecifier)) {
|
||||
writeLine();
|
||||
write("__export(");
|
||||
if (modulekind !== ModuleKind.AMD) {
|
||||
emitRequire(getExternalModuleName(node));
|
||||
}
|
||||
else {
|
||||
write(generatedName);
|
||||
}
|
||||
write(");");
|
||||
}
|
||||
else {
|
||||
write(generatedName);
|
||||
}
|
||||
write(");");
|
||||
}
|
||||
emitEnd(node);
|
||||
}
|
||||
@ -5988,7 +5990,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
externalImports = [];
|
||||
exportSpecifiers = {};
|
||||
exportEquals = undefined;
|
||||
hasExportStars = false;
|
||||
hasExportStarsToExportValues = false;
|
||||
for (let node of sourceFile.statements) {
|
||||
switch (node.kind) {
|
||||
case SyntaxKind.ImportDeclaration:
|
||||
@ -6011,8 +6013,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
if ((<ExportDeclaration>node).moduleSpecifier) {
|
||||
if (!(<ExportDeclaration>node).exportClause) {
|
||||
// export * from "mod"
|
||||
externalImports.push(<ExportDeclaration>node);
|
||||
hasExportStars = true;
|
||||
if (resolver.moduleExportsSomeValue((<ExportDeclaration>node).moduleSpecifier)) {
|
||||
externalImports.push(<ExportDeclaration>node);
|
||||
hasExportStarsToExportValues = true;
|
||||
}
|
||||
}
|
||||
else if (resolver.isValueAliasDeclaration(node)) {
|
||||
// export { x, y } from "mod" where at least one export is a value symbol
|
||||
@ -6038,7 +6042,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
}
|
||||
|
||||
function emitExportStarHelper() {
|
||||
if (hasExportStars) {
|
||||
if (hasExportStarsToExportValues) {
|
||||
writeLine();
|
||||
write("function __export(m) {");
|
||||
increaseIndent();
|
||||
@ -6110,7 +6114,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
// should always win over entries with similar names that were added via star exports
|
||||
// to support this we store names of local/indirect exported entries in a set.
|
||||
// this set is used to filter names brought by star expors.
|
||||
if (!hasExportStars) {
|
||||
if (!hasExportStarsToExportValues) {
|
||||
// local names set is needed only in presence of star exports
|
||||
return undefined;
|
||||
}
|
||||
@ -6535,6 +6539,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
write("});");
|
||||
}
|
||||
else {
|
||||
// collectExternalModuleInfo prefilters star exports to keep only ones that export values
|
||||
// this means that check 'resolver.moduleExportsSomeValue' is redundant and can be omitted here
|
||||
writeLine();
|
||||
// export * from 'foo'
|
||||
// emit as:
|
||||
@ -6796,7 +6802,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
externalImports = undefined;
|
||||
exportSpecifiers = undefined;
|
||||
exportEquals = undefined;
|
||||
hasExportStars = false;
|
||||
hasExportStarsToExportValues = false;
|
||||
emitEmitHelpers(node);
|
||||
emitCaptureThisForNodeIfNecessary(node);
|
||||
emitLinesStartingAt(node.statements, startIndex);
|
||||
@ -6996,7 +7002,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
externalImports = undefined;
|
||||
exportSpecifiers = undefined;
|
||||
exportEquals = undefined;
|
||||
hasExportStars = false;
|
||||
hasExportStarsToExportValues = false;
|
||||
emitEmitHelpers(node);
|
||||
emitCaptureThisForNodeIfNecessary(node);
|
||||
emitLinesStartingAt(node.statements, startIndex);
|
||||
|
||||
@ -1602,6 +1602,7 @@ namespace ts {
|
||||
getReferencedValueDeclaration(reference: Identifier): Declaration;
|
||||
getTypeReferenceSerializationKind(typeName: EntityName): TypeReferenceSerializationKind;
|
||||
isOptionalParameter(node: ParameterDeclaration): boolean;
|
||||
moduleExportsSomeValue(moduleReferenceExpression: Expression): boolean;
|
||||
}
|
||||
|
||||
export const enum SymbolFlags {
|
||||
@ -1718,6 +1719,7 @@ namespace ts {
|
||||
exportsChecked?: boolean; // True if exports of external module have been checked
|
||||
isNestedRedeclaration?: boolean; // True if symbol is block scoped redeclaration
|
||||
bindingElement?: BindingElement; // Binding element associated with property symbol
|
||||
exportsSomeValue?: boolean; // true if module exports some value (not just types)
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
|
||||
@ -289,7 +289,6 @@ exports.a8 = function_module_2.a;
|
||||
var class_module_2 = require("class-module");
|
||||
exports.a0 = class_module_2.a;
|
||||
// export-star
|
||||
__export(require("interface"));
|
||||
__export(require("variable"));
|
||||
__export(require("interface-variable"));
|
||||
__export(require("module"));
|
||||
|
||||
@ -53,7 +53,7 @@ var Bbb;
|
||||
return SomeType;
|
||||
})();
|
||||
Bbb.SomeType = SomeType;
|
||||
__export(require()); // this line causes the nullref
|
||||
// this line causes the nullref
|
||||
})(Bbb || (Bbb = {}));
|
||||
var a;
|
||||
|
||||
|
||||
17
tests/baselines/reference/exportStarForValues.js
Normal file
17
tests/baselines/reference/exportStarForValues.js
Normal file
@ -0,0 +1,17 @@
|
||||
//// [tests/cases/compiler/exportStarForValues.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
var x;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x;
|
||||
});
|
||||
11
tests/baselines/reference/exportStarForValues.symbols
Normal file
11
tests/baselines/reference/exportStarForValues.symbols
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 3))
|
||||
|
||||
11
tests/baselines/reference/exportStarForValues.types
Normal file
11
tests/baselines/reference/exportStarForValues.types
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x;
|
||||
>x : any
|
||||
|
||||
52
tests/baselines/reference/exportStarForValues10.js
Normal file
52
tests/baselines/reference/exportStarForValues10.js
Normal file
@ -0,0 +1,52 @@
|
||||
//// [tests/cases/compiler/exportStarForValues10.ts] ////
|
||||
|
||||
//// [file0.ts]
|
||||
|
||||
export var v = 1;
|
||||
|
||||
//// [file1.ts]
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file0";
|
||||
export * from "file1";
|
||||
var x = 1;
|
||||
|
||||
//// [file0.js]
|
||||
System.register([], function(exports_1) {
|
||||
var v;
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
exports_1("v", v = 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file1.js]
|
||||
System.register([], function(exports_1) {
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file2.js]
|
||||
System.register(["file0"], function(exports_1) {
|
||||
var x;
|
||||
function exportStar_1(m) {
|
||||
var exports = {};
|
||||
for(var n in m) {
|
||||
if (n !== "default") exports[n] = m[n];
|
||||
}
|
||||
exports_1(exports);
|
||||
}
|
||||
return {
|
||||
setters:[
|
||||
function (file0_1_1) {
|
||||
exportStar_1(file0_1_1);
|
||||
}],
|
||||
execute: function() {
|
||||
x = 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
16
tests/baselines/reference/exportStarForValues10.symbols
Normal file
16
tests/baselines/reference/exportStarForValues10.symbols
Normal file
@ -0,0 +1,16 @@
|
||||
=== tests/cases/compiler/file0.ts ===
|
||||
|
||||
export var v = 1;
|
||||
>v : Symbol(v, Decl(file0.ts, 1, 10))
|
||||
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 0, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file0";
|
||||
export * from "file1";
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 2, 3))
|
||||
|
||||
18
tests/baselines/reference/exportStarForValues10.types
Normal file
18
tests/baselines/reference/exportStarForValues10.types
Normal file
@ -0,0 +1,18 @@
|
||||
=== tests/cases/compiler/file0.ts ===
|
||||
|
||||
export var v = 1;
|
||||
>v : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file0";
|
||||
export * from "file1";
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
25
tests/baselines/reference/exportStarForValues2.js
Normal file
25
tests/baselines/reference/exportStarForValues2.js
Normal file
@ -0,0 +1,25 @@
|
||||
//// [tests/cases/compiler/exportStarForValues2.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
16
tests/baselines/reference/exportStarForValues2.symbols
Normal file
16
tests/baselines/reference/exportStarForValues2.symbols
Normal file
@ -0,0 +1,16 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 3))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 1, 3))
|
||||
|
||||
18
tests/baselines/reference/exportStarForValues2.types
Normal file
18
tests/baselines/reference/exportStarForValues2.types
Normal file
@ -0,0 +1,18 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
45
tests/baselines/reference/exportStarForValues3.js
Normal file
45
tests/baselines/reference/exportStarForValues3.js
Normal file
@ -0,0 +1,45 @@
|
||||
//// [tests/cases/compiler/exportStarForValues3.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export interface B { x }
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
//// [file4.ts]
|
||||
export interface C { x }
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
|
||||
//// [file5.ts]
|
||||
export * from "file4"
|
||||
var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
//// [file4.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
//// [file5.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
39
tests/baselines/reference/exportStarForValues3.symbols
Normal file
39
tests/baselines/reference/exportStarForValues3.symbols
Normal file
@ -0,0 +1,39 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : Symbol(A, Decl(file2.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file2.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 2, 3))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : Symbol(B, Decl(file3.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file3.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 2, 3))
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
export interface C { x }
|
||||
>C : Symbol(C, Decl(file4.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file4.ts, 0, 20))
|
||||
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file4.ts, 3, 3))
|
||||
|
||||
=== tests/cases/compiler/file5.ts ===
|
||||
export * from "file4"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file5.ts, 1, 3))
|
||||
|
||||
43
tests/baselines/reference/exportStarForValues3.types
Normal file
43
tests/baselines/reference/exportStarForValues3.types
Normal file
@ -0,0 +1,43 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : A
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : B
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
export interface C { x }
|
||||
>C : C
|
||||
>x : any
|
||||
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file5.ts ===
|
||||
export * from "file4"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
29
tests/baselines/reference/exportStarForValues4.js
Normal file
29
tests/baselines/reference/exportStarForValues4.js
Normal file
@ -0,0 +1,29 @@
|
||||
//// [tests/cases/compiler/exportStarForValues4.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export interface B { x }
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
var x = 1;
|
||||
});
|
||||
25
tests/baselines/reference/exportStarForValues4.symbols
Normal file
25
tests/baselines/reference/exportStarForValues4.symbols
Normal file
@ -0,0 +1,25 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : Symbol(A, Decl(file2.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file2.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 3, 3))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : Symbol(B, Decl(file3.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file3.ts, 0, 20))
|
||||
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 2, 3))
|
||||
|
||||
27
tests/baselines/reference/exportStarForValues4.types
Normal file
27
tests/baselines/reference/exportStarForValues4.types
Normal file
@ -0,0 +1,27 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : A
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : B
|
||||
>x : any
|
||||
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
16
tests/baselines/reference/exportStarForValues5.js
Normal file
16
tests/baselines/reference/exportStarForValues5.js
Normal file
@ -0,0 +1,16 @@
|
||||
//// [tests/cases/compiler/exportStarForValues5.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
export var x;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
11
tests/baselines/reference/exportStarForValues5.symbols
Normal file
11
tests/baselines/reference/exportStarForValues5.symbols
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 10))
|
||||
|
||||
11
tests/baselines/reference/exportStarForValues5.types
Normal file
11
tests/baselines/reference/exportStarForValues5.types
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x;
|
||||
>x : any
|
||||
|
||||
28
tests/baselines/reference/exportStarForValues6.js
Normal file
28
tests/baselines/reference/exportStarForValues6.js
Normal file
@ -0,0 +1,28 @@
|
||||
//// [tests/cases/compiler/exportStarForValues6.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
System.register([], function(exports_1) {
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file2.js]
|
||||
System.register([], function(exports_1) {
|
||||
var x;
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
exports_1("x", x = 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
11
tests/baselines/reference/exportStarForValues6.symbols
Normal file
11
tests/baselines/reference/exportStarForValues6.symbols
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 10))
|
||||
|
||||
12
tests/baselines/reference/exportStarForValues6.types
Normal file
12
tests/baselines/reference/exportStarForValues6.types
Normal file
@ -0,0 +1,12 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
29
tests/baselines/reference/exportStarForValues7.js
Normal file
29
tests/baselines/reference/exportStarForValues7.js
Normal file
@ -0,0 +1,29 @@
|
||||
//// [tests/cases/compiler/exportStarForValues7.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
exports.x = 1;
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports", "file2"], function (require, exports, file2_1) {
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
__export(file2_1);
|
||||
exports.x = 1;
|
||||
});
|
||||
16
tests/baselines/reference/exportStarForValues7.symbols
Normal file
16
tests/baselines/reference/exportStarForValues7.symbols
Normal file
@ -0,0 +1,16 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 10))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 1, 10))
|
||||
|
||||
18
tests/baselines/reference/exportStarForValues7.types
Normal file
18
tests/baselines/reference/exportStarForValues7.types
Normal file
@ -0,0 +1,18 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
54
tests/baselines/reference/exportStarForValues8.js
Normal file
54
tests/baselines/reference/exportStarForValues8.js
Normal file
@ -0,0 +1,54 @@
|
||||
//// [tests/cases/compiler/exportStarForValues8.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export interface B { x }
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
//// [file4.ts]
|
||||
export interface C { x }
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
|
||||
//// [file5.ts]
|
||||
export * from "file4"
|
||||
export var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
exports.x = 1;
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
exports.x = 1;
|
||||
});
|
||||
//// [file4.js]
|
||||
define(["require", "exports", "file2", "file3"], function (require, exports, file2_1, file3_1) {
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
__export(file2_1);
|
||||
__export(file3_1);
|
||||
exports.x = 1;
|
||||
});
|
||||
//// [file5.js]
|
||||
define(["require", "exports", "file4"], function (require, exports, file4_1) {
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
__export(file4_1);
|
||||
exports.x = 1;
|
||||
});
|
||||
39
tests/baselines/reference/exportStarForValues8.symbols
Normal file
39
tests/baselines/reference/exportStarForValues8.symbols
Normal file
@ -0,0 +1,39 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : Symbol(A, Decl(file2.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file2.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 2, 10))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : Symbol(B, Decl(file3.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file3.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 2, 10))
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
export interface C { x }
|
||||
>C : Symbol(C, Decl(file4.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file4.ts, 0, 20))
|
||||
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file4.ts, 3, 10))
|
||||
|
||||
=== tests/cases/compiler/file5.ts ===
|
||||
export * from "file4"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file5.ts, 1, 10))
|
||||
|
||||
43
tests/baselines/reference/exportStarForValues8.types
Normal file
43
tests/baselines/reference/exportStarForValues8.types
Normal file
@ -0,0 +1,43 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : A
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : B
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file4.ts ===
|
||||
export interface C { x }
|
||||
>C : C
|
||||
>x : any
|
||||
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file5.ts ===
|
||||
export * from "file4"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
37
tests/baselines/reference/exportStarForValues9.js
Normal file
37
tests/baselines/reference/exportStarForValues9.js
Normal file
@ -0,0 +1,37 @@
|
||||
//// [tests/cases/compiler/exportStarForValues9.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
|
||||
//// [file3.ts]
|
||||
export interface B { x }
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
|
||||
|
||||
//// [file1.js]
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
});
|
||||
//// [file3.js]
|
||||
define(["require", "exports", "file2"], function (require, exports, file2_1) {
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
__export(file2_1);
|
||||
exports.x = 1;
|
||||
});
|
||||
//// [file2.js]
|
||||
define(["require", "exports", "file3"], function (require, exports, file3_1) {
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
__export(file3_1);
|
||||
exports.x = 1;
|
||||
});
|
||||
25
tests/baselines/reference/exportStarForValues9.symbols
Normal file
25
tests/baselines/reference/exportStarForValues9.symbols
Normal file
@ -0,0 +1,25 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : Symbol(A, Decl(file2.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file2.ts, 0, 20))
|
||||
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 3, 10))
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : Symbol(B, Decl(file3.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file3.ts, 0, 20))
|
||||
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
>x : Symbol(x, Decl(file3.ts, 2, 10))
|
||||
|
||||
27
tests/baselines/reference/exportStarForValues9.types
Normal file
27
tests/baselines/reference/exportStarForValues9.types
Normal file
@ -0,0 +1,27 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export interface A { x }
|
||||
>A : A
|
||||
>x : any
|
||||
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
=== tests/cases/compiler/file3.ts ===
|
||||
export interface B { x }
|
||||
>B : B
|
||||
>x : any
|
||||
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
28
tests/baselines/reference/exportStarForValuesInSystem.js
Normal file
28
tests/baselines/reference/exportStarForValuesInSystem.js
Normal file
@ -0,0 +1,28 @@
|
||||
//// [tests/cases/compiler/exportStarForValuesInSystem.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
export interface Foo { x }
|
||||
|
||||
//// [file2.ts]
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
//// [file1.js]
|
||||
System.register([], function(exports_1) {
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
//// [file2.js]
|
||||
System.register([], function(exports_1) {
|
||||
var x;
|
||||
return {
|
||||
setters:[],
|
||||
execute: function() {
|
||||
x = 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Symbol(Foo, Decl(file1.ts, 0, 0))
|
||||
>x : Symbol(x, Decl(file1.ts, 1, 22))
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(file2.ts, 1, 3))
|
||||
|
||||
12
tests/baselines/reference/exportStarForValuesInSystem.types
Normal file
12
tests/baselines/reference/exportStarForValuesInSystem.types
Normal file
@ -0,0 +1,12 @@
|
||||
=== tests/cases/compiler/file1.ts ===
|
||||
|
||||
export interface Foo { x }
|
||||
>Foo : Foo
|
||||
>x : any
|
||||
|
||||
=== tests/cases/compiler/file2.ts ===
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
@ -34,7 +34,6 @@
|
||||
{
|
||||
var v;
|
||||
function foo() { }
|
||||
__export(require("ambient"));
|
||||
exports["default"] = v;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
|
||||
@ -34,7 +34,6 @@ function blah () {
|
||||
function blah() {
|
||||
var v;
|
||||
function foo() { }
|
||||
__export(require("ambient"));
|
||||
exports["default"] = v;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
|
||||
@ -37,7 +37,6 @@ var P;
|
||||
{
|
||||
var v;
|
||||
function foo() { }
|
||||
__export(require("ambient"));
|
||||
P["default"] = v;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
|
||||
8
tests/cases/compiler/exportStarForValues.ts
Normal file
8
tests/cases/compiler/exportStarForValues.ts
Normal file
@ -0,0 +1,8 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
var x;
|
||||
12
tests/cases/compiler/exportStarForValues10.ts
Normal file
12
tests/cases/compiler/exportStarForValues10.ts
Normal file
@ -0,0 +1,12 @@
|
||||
// @module: system
|
||||
|
||||
// @filename: file0.ts
|
||||
export var v = 1;
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file0";
|
||||
export * from "file1";
|
||||
var x = 1;
|
||||
12
tests/cases/compiler/exportStarForValues2.ts
Normal file
12
tests/cases/compiler/exportStarForValues2.ts
Normal file
@ -0,0 +1,12 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
24
tests/cases/compiler/exportStarForValues3.ts
Normal file
24
tests/cases/compiler/exportStarForValues3.ts
Normal file
@ -0,0 +1,24 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export interface B { x }
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
|
||||
// @filename: file4.ts
|
||||
export interface C { x }
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
|
||||
// @filename: file5.ts
|
||||
export * from "file4"
|
||||
var x = 1;
|
||||
15
tests/cases/compiler/exportStarForValues4.ts
Normal file
15
tests/cases/compiler/exportStarForValues4.ts
Normal file
@ -0,0 +1,15 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export interface B { x }
|
||||
export * from "file2"
|
||||
var x = 1;
|
||||
8
tests/cases/compiler/exportStarForValues5.ts
Normal file
8
tests/cases/compiler/exportStarForValues5.ts
Normal file
@ -0,0 +1,8 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
export var x;
|
||||
8
tests/cases/compiler/exportStarForValues6.ts
Normal file
8
tests/cases/compiler/exportStarForValues6.ts
Normal file
@ -0,0 +1,8 @@
|
||||
// @module: system
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
12
tests/cases/compiler/exportStarForValues7.ts
Normal file
12
tests/cases/compiler/exportStarForValues7.ts
Normal file
@ -0,0 +1,12 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
24
tests/cases/compiler/exportStarForValues8.ts
Normal file
24
tests/cases/compiler/exportStarForValues8.ts
Normal file
@ -0,0 +1,24 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export interface B { x }
|
||||
export * from "file1"
|
||||
export var x = 1;
|
||||
|
||||
// @filename: file4.ts
|
||||
export interface C { x }
|
||||
export * from "file2"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
|
||||
// @filename: file5.ts
|
||||
export * from "file4"
|
||||
export var x = 1;
|
||||
15
tests/cases/compiler/exportStarForValues9.ts
Normal file
15
tests/cases/compiler/exportStarForValues9.ts
Normal file
@ -0,0 +1,15 @@
|
||||
// @module: amd
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export interface A { x }
|
||||
export * from "file1"
|
||||
export * from "file3"
|
||||
export var x = 1;
|
||||
|
||||
// @filename: file3.ts
|
||||
export interface B { x }
|
||||
export * from "file2"
|
||||
export var x = 1;
|
||||
8
tests/cases/compiler/exportStarForValuesInSystem.ts
Normal file
8
tests/cases/compiler/exportStarForValuesInSystem.ts
Normal file
@ -0,0 +1,8 @@
|
||||
// @module: system
|
||||
|
||||
// @filename: file1.ts
|
||||
export interface Foo { x }
|
||||
|
||||
// @filename: file2.ts
|
||||
export * from "file1"
|
||||
var x = 1;
|
||||
Loading…
x
Reference in New Issue
Block a user