Skip to content

Commit 6880763

Browse files
committed
Add tests, improve+fix control flow
1. Update the module.exports test to match the exports ones. 2. Add a test of evolving commonjs type. 3. Add a test of assignment as last statement. (1) exposed a bug that required a better synthetic reference. (3) exposed a bug that was most easily fixed by giving source files a `endFlowNode` like functions and setting it in the binder.
1 parent 046bed9 commit 6880763

11 files changed

+213
-28
lines changed

src/compiler/binder.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,7 @@ namespace ts {
685685
}
686686
if (node.kind === SyntaxKind.SourceFile) {
687687
node.flags |= emitFlags;
688+
(node as SourceFile).endFlowNode = currentFlow;
688689
}
689690

690691
if (currentReturnTarget) {

src/compiler/checker.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8346,14 +8346,16 @@ namespace ts {
83468346
function getFlowTypeFromCommonJSExport(symbol: Symbol) {
83478347
const file = getSourceFileOfNode(symbol.declarations[0]);
83488348
const accessName = unescapeLeadingUnderscores(symbol.escapedName);
8349-
const reference = factory.createPropertyAccessExpression(factory.createIdentifier("exports"), accessName);
8349+
const areAllModuleExports = symbol.declarations.every(d => isInJSFile(d) && isAccessExpression(d) && isModuleExportsAccessExpression(d.expression));
8350+
const reference = areAllModuleExports
8351+
? factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createIdentifier("module"), factory.createIdentifier("exports")), accessName)
8352+
: factory.createPropertyAccessExpression(factory.createIdentifier("exports"), accessName);
8353+
if (areAllModuleExports) {
8354+
setParent((reference.expression as PropertyAccessExpression).expression, reference.expression);
8355+
}
83508356
setParent(reference.expression, reference);
83518357
setParent(reference, file);
8352-
const lastStatementFlow = file.statements[file.statements.length - 1].flowNode;
8353-
reference.flowNode = lastStatementFlow && {
8354-
antecedents: [lastStatementFlow],
8355-
flags: FlowFlags.BranchLabel
8356-
};
8358+
reference.flowNode = file.endFlowNode;
83578359
return getFlowTypeOfReference(reference, autoType, undefinedType);
83588360
}
83598361

src/compiler/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3507,6 +3507,7 @@ namespace ts {
35073507
/* @internal */ localJsxFragmentFactory?: EntityName;
35083508

35093509
/* @internal */ exportedModulesFromDeclarationEmit?: ExportedModulesFromDeclarationEmit;
3510+
/* @internal */ endFlowNode?: FlowNode;
35103511
}
35113512

35123513
/* @internal */
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
1+
//// [tests/cases/conformance/salsa/moduleExportDuplicateAlias2.ts] ////
2+
13
//// [moduleExportAliasDuplicateAlias.js]
24
module.exports.apply = undefined;
35
function a() { }
46
module.exports.apply = a;
7+
module.exports.apply = a;
8+
module.exports.apply()
9+
10+
//// [test.js]
11+
const { apply } = require('./moduleExportAliasDuplicateAlias')
12+
apply()
513

614

715
//// [moduleExportAliasDuplicateAlias.js]
816
"use strict";
917
module.exports.apply = undefined;
1018
function a() { }
1119
module.exports.apply = a;
20+
module.exports.apply = a;
21+
module.exports.apply();
22+
//// [test.js]
23+
"use strict";
24+
var apply = require('./moduleExportAliasDuplicateAlias').apply;
25+
apply();
1226

1327

1428
//// [moduleExportAliasDuplicateAlias.d.ts]
1529
export { a as apply };
1630
declare function a(): void;
31+
//// [test.d.ts]
32+
export {};
Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
1+
=== tests/cases/conformance/salsa/test.js ===
2+
const { apply } = require('./moduleExportAliasDuplicateAlias')
3+
>apply : Symbol(apply, Decl(test.js, 0, 7))
4+
>require : Symbol(require)
5+
>'./moduleExportAliasDuplicateAlias' : Symbol("tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias", Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
6+
7+
apply()
8+
>apply : Symbol(apply, Decl(test.js, 0, 7))
9+
110
=== tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias.js ===
211
module.exports.apply = undefined;
3-
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
4-
>module.exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
12+
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
13+
>module.exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
514
>module : Symbol(module, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
615
>exports : Symbol(module.exports, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
7-
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
16+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
817
>undefined : Symbol(undefined)
918

1019
function a() { }
1120
>a : Symbol(a, Decl(moduleExportAliasDuplicateAlias.js, 0, 33))
1221

1322
module.exports.apply = a;
14-
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
15-
>module.exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
23+
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
24+
>module.exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
25+
>module : Symbol(module, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
26+
>exports : Symbol(module.exports, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
27+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
28+
>a : Symbol(a, Decl(moduleExportAliasDuplicateAlias.js, 0, 33))
29+
30+
module.exports.apply = a;
31+
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
32+
>module.exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
1633
>module : Symbol(module, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
1734
>exports : Symbol(module.exports, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
18-
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16))
35+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
1936
>a : Symbol(a, Decl(moduleExportAliasDuplicateAlias.js, 0, 33))
2037

38+
module.exports.apply()
39+
>module.exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
40+
>module.exports : Symbol(module.exports, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
41+
>module : Symbol(module, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
42+
>exports : Symbol(module.exports, Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
43+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 1, 16), Decl(moduleExportAliasDuplicateAlias.js, 2, 25))
44+

tests/baselines/reference/moduleExportDuplicateAlias2.types

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
=== tests/cases/conformance/salsa/test.js ===
2+
const { apply } = require('./moduleExportAliasDuplicateAlias')
3+
>apply : () => void
4+
>require('./moduleExportAliasDuplicateAlias') : typeof import("tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias")
5+
>require : any
6+
>'./moduleExportAliasDuplicateAlias' : "./moduleExportAliasDuplicateAlias"
7+
8+
apply()
9+
>apply() : void
10+
>apply : () => void
11+
112
=== tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias.js ===
213
module.exports.apply = undefined;
314
>module.exports.apply = undefined : undefined
@@ -20,3 +31,20 @@ module.exports.apply = a;
2031
>apply : any
2132
>a : () => void
2233

34+
module.exports.apply = a;
35+
>module.exports.apply = a : () => void
36+
>module.exports.apply : any
37+
>module.exports : typeof module.exports
38+
>module : { exports: typeof module.exports; }
39+
>exports : typeof module.exports
40+
>apply : any
41+
>a : () => void
42+
43+
module.exports.apply()
44+
>module.exports.apply() : void
45+
>module.exports.apply : () => void
46+
>module.exports : typeof module.exports
47+
>module : { exports: typeof module.exports; }
48+
>exports : typeof module.exports
49+
>apply : () => void
50+

tests/baselines/reference/moduleExportDuplicateAlias3.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1+
//// [tests/cases/conformance/salsa/moduleExportDuplicateAlias3.ts] ////
2+
13
//// [moduleExportAliasDuplicateAlias.js]
24
exports.apply = undefined;
35
exports.apply = undefined;
46
function a() { }
57
exports.apply = a;
8+
exports.apply()
9+
exports.apply = 'ok'
10+
var OK = exports.apply.toUpperCase()
11+
exports.apply = 1
12+
13+
//// [test.js]
14+
const { apply } = require('./moduleExportAliasDuplicateAlias')
15+
const result = apply.toFixed()
616

717

818
//// [moduleExportAliasDuplicateAlias.js]
@@ -11,8 +21,19 @@ exports.apply = undefined;
1121
exports.apply = undefined;
1222
function a() { }
1323
exports.apply = a;
24+
exports.apply();
25+
exports.apply = 'ok';
26+
var OK = exports.apply.toUpperCase();
27+
exports.apply = 1;
28+
//// [test.js]
29+
"use strict";
30+
var apply = require('./moduleExportAliasDuplicateAlias').apply;
31+
var result = apply.toFixed();
1432

1533

1634
//// [moduleExportAliasDuplicateAlias.d.ts]
35+
export var apply: string | number | typeof a | undefined;
1736
export { a as apply };
1837
declare function a(): void;
38+
//// [test.d.ts]
39+
export {};
Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,57 @@
1+
=== tests/cases/conformance/salsa/test.js ===
2+
const { apply } = require('./moduleExportAliasDuplicateAlias')
3+
>apply : Symbol(apply, Decl(test.js, 0, 7))
4+
>require : Symbol(require)
5+
>'./moduleExportAliasDuplicateAlias' : Symbol("tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias", Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
6+
7+
const result = apply.toFixed()
8+
>result : Symbol(result, Decl(test.js, 1, 5))
9+
>apply.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --))
10+
>apply : Symbol(apply, Decl(test.js, 0, 7))
11+
>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --))
12+
113
=== tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias.js ===
214
exports.apply = undefined;
3-
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
4-
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
5-
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
15+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
16+
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
17+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
618
>undefined : Symbol(undefined)
719

820
exports.apply = undefined;
9-
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
10-
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
11-
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
21+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
22+
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
23+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
1224
>undefined : Symbol(undefined)
1325

1426
function a() { }
1527
>a : Symbol(a, Decl(moduleExportAliasDuplicateAlias.js, 1, 26))
1628

1729
exports.apply = a;
18-
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
19-
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
20-
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16))
30+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
31+
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
32+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
2133
>a : Symbol(a, Decl(moduleExportAliasDuplicateAlias.js, 1, 26))
2234

35+
exports.apply()
36+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
37+
>exports : Symbol("tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias", Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
38+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
39+
40+
exports.apply = 'ok'
41+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
42+
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
43+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
44+
45+
var OK = exports.apply.toUpperCase()
46+
>OK : Symbol(OK, Decl(moduleExportAliasDuplicateAlias.js, 6, 3))
47+
>exports.apply.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --))
48+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
49+
>exports : Symbol("tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias", Decl(moduleExportAliasDuplicateAlias.js, 0, 0))
50+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
51+
>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --))
52+
53+
exports.apply = 1
54+
>exports.apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
55+
>exports : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
56+
>apply : Symbol(apply, Decl(moduleExportAliasDuplicateAlias.js, 0, 0), Decl(moduleExportAliasDuplicateAlias.js, 0, 26), Decl(moduleExportAliasDuplicateAlias.js, 2, 16), Decl(moduleExportAliasDuplicateAlias.js, 4, 15), Decl(moduleExportAliasDuplicateAlias.js, 6, 36))
57+

0 commit comments

Comments
 (0)