Skip to content

Commit b4a1a59

Browse files
authored
Rework declaration emit visibility calculation for namespaces (#32156)
* Rework declaration visibility for namespaces * Accept skipped baselines
1 parent 6760a03 commit b4a1a59

35 files changed

+568
-387
lines changed

src/compiler/transformers/declarations.ts

Lines changed: 66 additions & 29 deletions
Large diffs are not rendered by default.

tests/baselines/reference/aliasInaccessibleModule.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ declare module M {
1616
module N {
1717
}
1818
export import X = N;
19+
export {};
1920
}

tests/baselines/reference/aliasInaccessibleModule2.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@ declare module M {
3131
}
3232
import R = N;
3333
export import X = R;
34+
export {};
3435
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorAccessors.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,13 @@ var m;
264264
declare module m {
265265
class private1 {
266266
}
267-
class public1 {
267+
export class public1 {
268268
}
269269
module m2 {
270270
class public2 {
271271
}
272272
}
273-
class c {
273+
export class c {
274274
readonly foo1: private1;
275275
readonly foo2: private1;
276276
foo3: private1;
@@ -287,4 +287,5 @@ declare module m {
287287
foo114: m2.public2;
288288
foo115: m2.public2;
289289
}
290+
export {};
290291
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorParameterOfFunction.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,17 @@ var m;
111111
declare module m {
112112
class private1 {
113113
}
114-
class public1 {
114+
export class public1 {
115115
}
116-
function foo3(param: private1): void;
117-
function foo4(param?: private1): void;
118-
function foo13(param: public1): void;
119-
function foo14(param?: public1): void;
116+
export function foo3(param: private1): void;
117+
export function foo4(param?: private1): void;
118+
export function foo13(param: public1): void;
119+
export function foo14(param?: public1): void;
120120
module m2 {
121121
class public2 {
122122
}
123123
}
124-
function foo113(param: m2.public2): void;
125-
function foo114(param?: m2.public2): void;
124+
export function foo113(param: m2.public2): void;
125+
export function foo114(param?: m2.public2): void;
126+
export {};
126127
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorReturnTypeOfFunction.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,17 @@ var m;
129129
declare module m {
130130
class private1 {
131131
}
132-
class public1 {
132+
export class public1 {
133133
}
134-
function foo3(): private1;
135-
function foo4(): private1;
136-
function foo13(): public1;
137-
function foo14(): public1;
134+
export function foo3(): private1;
135+
export function foo4(): private1;
136+
export function foo13(): public1;
137+
export function foo14(): public1;
138138
module m2 {
139139
class public2 {
140140
}
141141
}
142-
function foo113(): m2.public2;
143-
function foo114(): m2.public2;
142+
export function foo113(): m2.public2;
143+
export function foo114(): m2.public2;
144+
export {};
144145
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeAlias.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,12 @@ interface Window {
9595
}
9696
declare module M {
9797
type W = Window | string;
98-
module N {
98+
export module N {
9999
class Window {
100100
}
101101
var p: W;
102102
}
103+
export {};
103104
}
104105
declare module M1 {
105106
type W = Window | string;
@@ -118,7 +119,8 @@ declare module M2 {
118119
class public1 {
119120
}
120121
}
121-
type t2 = private1;
122-
type t12 = public1;
123-
type t112 = m3.public1;
122+
export type t2 = private1;
123+
export type t12 = public1;
124+
export type t112 = m3.public1;
125+
export {};
124126
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,29 +71,30 @@ declare module m {
7171
class public1 {
7272
}
7373
}
74-
var x: {
74+
export var x: {
7575
x: private1;
7676
y: m2.public1;
7777
(): m2.public1[];
7878
method(): private1;
7979
[n: number]: private1;
8080
[s: string]: m2.public1;
8181
};
82-
var x2: {
82+
export var x2: {
8383
x: private1;
8484
y: m2.public1;
8585
method(): private1;
8686
};
87-
var x3: {
87+
export var x3: {
8888
(): m2.public1[];
8989
[s: string]: m2.public1;
9090
[n: number]: private1;
9191
x: private1;
9292
y: m2.public1;
9393
method(): private1;
9494
};
95-
var y: (a: private1) => m2.public1;
96-
var y2: (a: private1) => m2.public1;
97-
var z: new (a: private1) => m2.public1;
98-
var z2: new (a: private1) => m2.public1;
95+
export var y: (a: private1) => m2.public1;
96+
export var y2: (a: private1) => m2.public1;
97+
export var z: new (a: private1) => m2.public1;
98+
export var z2: new (a: private1) => m2.public1;
99+
export {};
99100
}

tests/baselines/reference/declFileTypeAnnotationVisibilityErrorVariableDeclaration.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,17 @@ var m;
7272
declare module m {
7373
class private1 {
7474
}
75-
class public1 {
75+
export class public1 {
7676
}
77-
var k: private1;
78-
var l: private1;
79-
var k2: public1;
80-
var l2: public1;
77+
export var k: private1;
78+
export var l: private1;
79+
export var k2: public1;
80+
export var l2: public1;
8181
module m2 {
8282
class public2 {
8383
}
8484
}
85-
var k3: m2.public2;
86-
var l3: m2.public2;
85+
export var k3: m2.public2;
86+
export var l3: m2.public2;
87+
export {};
8788
}

tests/baselines/reference/declInput-2.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ var M;
5454
declare module M {
5555
class C {
5656
}
57-
class E {
57+
export class E {
5858
}
59-
interface I1 {
59+
export interface I1 {
6060
}
6161
interface I2 {
6262
}
63-
class D {
63+
export class D {
6464
private c;
6565
m1: number;
6666
m2: string;
@@ -75,4 +75,5 @@ declare module M {
7575
m262(i: I2): void;
7676
m3(): C;
7777
}
78+
export {};
7879
}

0 commit comments

Comments
 (0)