forked from microsoft/TypeScript
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathprivacyVar.js
337 lines (304 loc) · 12.3 KB
/
privacyVar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
//// [privacyVar.ts]
export module m1 {
export class C1_public {
private f1() {
}
}
class C2_private {
}
export class C3_public {
private C3_v1_private: C1_public;
public C3_v2_public: C1_public;
private C3_v3_private: C2_private;
public C3_v4_public: C2_private; // error
private C3_v11_private = new C1_public();
public C3_v12_public = new C1_public();
private C3_v13_private = new C2_private();
public C3_v14_public = new C2_private(); // error
private C3_v21_private: C1_public = new C1_public();
public C3_v22_public: C1_public = new C1_public();
private C3_v23_private: C2_private = new C2_private();
public C3_v24_public: C2_private = new C2_private(); // error
}
class C4_public {
private C4_v1_private: C1_public;
public C4_v2_public: C1_public;
private C4_v3_private: C2_private;
public C4_v4_public: C2_private;
private C4_v11_private = new C1_public();
public C4_v12_public = new C1_public();
private C4_v13_private = new C2_private();
public C4_v14_public = new C2_private();
private C4_v21_private: C1_public = new C1_public();
public C4_v22_public: C1_public = new C1_public();
private C4_v23_private: C2_private = new C2_private();
public C4_v24_public: C2_private = new C2_private();
}
var m1_v1_private: C1_public;
export var m1_v2_public: C1_public;
var m1_v3_private: C2_private;
export var m1_v4_public: C2_private; // error
var m1_v11_private = new C1_public();
export var m1_v12_public = new C1_public();
var m1_v13_private = new C2_private();
export var m1_v14_public = new C2_private(); //error
var m1_v21_private: C1_public = new C1_public();
export var m1_v22_public: C1_public = new C1_public();
var m1_v23_private: C2_private = new C2_private();
export var m1_v24_public: C2_private = new C2_private(); // error
}
module m2 {
export class m2_C1_public {
private f1() {
}
}
class m2_C2_private {
}
export class m2_C3_public {
private m2_C3_v1_private: m2_C1_public;
public m2_C3_v2_public: m2_C1_public;
private m2_C3_v3_private: m2_C2_private;
public m2_C3_v4_public: m2_C2_private;
private m2_C3_v11_private = new m2_C1_public();
public m2_C3_v12_public = new m2_C1_public();
private m2_C3_v13_private = new m2_C2_private();
public m2_C3_v14_public = new m2_C2_private();
private m2_C3_v21_private: m2_C1_public = new m2_C1_public();
public m2_C3_v22_public: m2_C1_public = new m2_C1_public();
private m2_C3_v23_private: m2_C2_private = new m2_C2_private();
public m2_C3_v24_public: m2_C2_private = new m2_C2_private();
}
class m2_C4_public {
private m2_C4_v1_private: m2_C1_public;
public m2_C4_v2_public: m2_C1_public;
private m2_C4_v3_private: m2_C2_private;
public m2_C4_v4_public: m2_C2_private;
private m2_C4_v11_private = new m2_C1_public();
public m2_C4_v12_public = new m2_C1_public();
private m2_C4_v13_private = new m2_C2_private();
public m2_C4_v14_public = new m2_C2_private();
private m2_C4_v21_private: m2_C1_public = new m2_C1_public();
public m2_C4_v22_public: m2_C1_public = new m2_C1_public();
private m2_C4_v23_private: m2_C2_private = new m2_C2_private();
public m2_C4_v24_public: m2_C2_private = new m2_C2_private();
}
var m2_v1_private: m2_C1_public;
export var m2_v2_public: m2_C1_public;
var m2_v3_private: m2_C2_private;
export var m2_v4_public: m2_C2_private;
var m2_v11_private = new m2_C1_public();
export var m2_v12_public = new m2_C1_public();
var m2_v13_private = new m2_C2_private();
export var m2_v14_public = new m2_C2_private();
var m2_v21_private: m2_C1_public = new m2_C1_public();
export var m2_v22_public: m2_C1_public = new m2_C1_public();
var m2_v23_private: m2_C2_private = new m2_C2_private();
export var m2_v24_public: m2_C2_private = new m2_C2_private();
}
export class glo_C1_public {
private f1() {
}
}
class glo_C2_private {
}
export class glo_C3_public {
private glo_C3_v1_private: glo_C1_public;
public glo_C3_v2_public: glo_C1_public;
private glo_C3_v3_private: glo_C2_private;
public glo_C3_v4_public: glo_C2_private; //error
private glo_C3_v11_private = new glo_C1_public();
public glo_C3_v12_public = new glo_C1_public();
private glo_C3_v13_private = new glo_C2_private();
public glo_C3_v14_public = new glo_C2_private(); // error
private glo_C3_v21_private: glo_C1_public = new glo_C1_public();
public glo_C3_v22_public: glo_C1_public = new glo_C1_public();
private glo_C3_v23_private: glo_C2_private = new glo_C2_private();
public glo_C3_v24_public: glo_C2_private = new glo_C2_private(); //error
}
class glo_C4_public {
private glo_C4_v1_private: glo_C1_public;
public glo_C4_v2_public: glo_C1_public;
private glo_C4_v3_private: glo_C2_private;
public glo_C4_v4_public: glo_C2_private;
private glo_C4_v11_private = new glo_C1_public();
public glo_C4_v12_public = new glo_C1_public();
private glo_C4_v13_private = new glo_C2_private();
public glo_C4_v14_public = new glo_C2_private();
private glo_C4_v21_private: glo_C1_public = new glo_C1_public();
public glo_C4_v22_public: glo_C1_public = new glo_C1_public();
private glo_C4_v23_private: glo_C2_private = new glo_C2_private();
public glo_C4_v24_public: glo_C2_private = new glo_C2_private();
}
var glo_v1_private: glo_C1_public;
export var glo_v2_public: glo_C1_public;
var glo_v3_private: glo_C2_private;
export var glo_v4_public: glo_C2_private; // error
var glo_v11_private = new glo_C1_public();
export var glo_v12_public = new glo_C1_public();
var glo_v13_private = new glo_C2_private();
export var glo_v14_public = new glo_C2_private(); // error
var glo_v21_private: glo_C1_public = new glo_C1_public();
export var glo_v22_public: glo_C1_public = new glo_C1_public();
var glo_v23_private: glo_C2_private = new glo_C2_private();
export var glo_v24_public: glo_C2_private = new glo_C2_private(); // error
//// [privacyVar.js]
"use strict";
exports.__esModule = true;
var m1;
(function (m1) {
var C1_public = /** @class */ (function () {
function C1_public() {
}
C1_public.prototype.f1 = function () {
};
return C1_public;
}());
m1.C1_public = C1_public;
var C2_private = /** @class */ (function () {
function C2_private() {
}
return C2_private;
}());
var C3_public = /** @class */ (function () {
function C3_public() {
this.C3_v11_private = new C1_public();
this.C3_v12_public = new C1_public();
this.C3_v13_private = new C2_private();
this.C3_v14_public = new C2_private(); // error
this.C3_v21_private = new C1_public();
this.C3_v22_public = new C1_public();
this.C3_v23_private = new C2_private();
this.C3_v24_public = new C2_private(); // error
}
return C3_public;
}());
m1.C3_public = C3_public;
var C4_public = /** @class */ (function () {
function C4_public() {
this.C4_v11_private = new C1_public();
this.C4_v12_public = new C1_public();
this.C4_v13_private = new C2_private();
this.C4_v14_public = new C2_private();
this.C4_v21_private = new C1_public();
this.C4_v22_public = new C1_public();
this.C4_v23_private = new C2_private();
this.C4_v24_public = new C2_private();
}
return C4_public;
}());
var m1_v1_private;
var m1_v3_private;
var m1_v11_private = new C1_public();
m1.m1_v12_public = new C1_public();
var m1_v13_private = new C2_private();
m1.m1_v14_public = new C2_private(); //error
var m1_v21_private = new C1_public();
m1.m1_v22_public = new C1_public();
var m1_v23_private = new C2_private();
m1.m1_v24_public = new C2_private(); // error
})(m1 = exports.m1 || (exports.m1 = {}));
var m2;
(function (m2) {
var m2_C1_public = /** @class */ (function () {
function m2_C1_public() {
}
m2_C1_public.prototype.f1 = function () {
};
return m2_C1_public;
}());
m2.m2_C1_public = m2_C1_public;
var m2_C2_private = /** @class */ (function () {
function m2_C2_private() {
}
return m2_C2_private;
}());
var m2_C3_public = /** @class */ (function () {
function m2_C3_public() {
this.m2_C3_v11_private = new m2_C1_public();
this.m2_C3_v12_public = new m2_C1_public();
this.m2_C3_v13_private = new m2_C2_private();
this.m2_C3_v14_public = new m2_C2_private();
this.m2_C3_v21_private = new m2_C1_public();
this.m2_C3_v22_public = new m2_C1_public();
this.m2_C3_v23_private = new m2_C2_private();
this.m2_C3_v24_public = new m2_C2_private();
}
return m2_C3_public;
}());
m2.m2_C3_public = m2_C3_public;
var m2_C4_public = /** @class */ (function () {
function m2_C4_public() {
this.m2_C4_v11_private = new m2_C1_public();
this.m2_C4_v12_public = new m2_C1_public();
this.m2_C4_v13_private = new m2_C2_private();
this.m2_C4_v14_public = new m2_C2_private();
this.m2_C4_v21_private = new m2_C1_public();
this.m2_C4_v22_public = new m2_C1_public();
this.m2_C4_v23_private = new m2_C2_private();
this.m2_C4_v24_public = new m2_C2_private();
}
return m2_C4_public;
}());
var m2_v1_private;
var m2_v3_private;
var m2_v11_private = new m2_C1_public();
m2.m2_v12_public = new m2_C1_public();
var m2_v13_private = new m2_C2_private();
m2.m2_v14_public = new m2_C2_private();
var m2_v21_private = new m2_C1_public();
m2.m2_v22_public = new m2_C1_public();
var m2_v23_private = new m2_C2_private();
m2.m2_v24_public = new m2_C2_private();
})(m2 || (m2 = {}));
var glo_C1_public = /** @class */ (function () {
function glo_C1_public() {
}
glo_C1_public.prototype.f1 = function () {
};
return glo_C1_public;
}());
exports.glo_C1_public = glo_C1_public;
var glo_C2_private = /** @class */ (function () {
function glo_C2_private() {
}
return glo_C2_private;
}());
var glo_C3_public = /** @class */ (function () {
function glo_C3_public() {
this.glo_C3_v11_private = new glo_C1_public();
this.glo_C3_v12_public = new glo_C1_public();
this.glo_C3_v13_private = new glo_C2_private();
this.glo_C3_v14_public = new glo_C2_private(); // error
this.glo_C3_v21_private = new glo_C1_public();
this.glo_C3_v22_public = new glo_C1_public();
this.glo_C3_v23_private = new glo_C2_private();
this.glo_C3_v24_public = new glo_C2_private(); //error
}
return glo_C3_public;
}());
exports.glo_C3_public = glo_C3_public;
var glo_C4_public = /** @class */ (function () {
function glo_C4_public() {
this.glo_C4_v11_private = new glo_C1_public();
this.glo_C4_v12_public = new glo_C1_public();
this.glo_C4_v13_private = new glo_C2_private();
this.glo_C4_v14_public = new glo_C2_private();
this.glo_C4_v21_private = new glo_C1_public();
this.glo_C4_v22_public = new glo_C1_public();
this.glo_C4_v23_private = new glo_C2_private();
this.glo_C4_v24_public = new glo_C2_private();
}
return glo_C4_public;
}());
var glo_v1_private;
exports.glo_v2_public = void 0;
var glo_v3_private;
exports.glo_v4_public = void 0; // error
var glo_v11_private = new glo_C1_public();
exports.glo_v12_public = new glo_C1_public();
var glo_v13_private = new glo_C2_private();
exports.glo_v14_public = new glo_C2_private(); // error
var glo_v21_private = new glo_C1_public();
exports.glo_v22_public = new glo_C1_public();
var glo_v23_private = new glo_C2_private();
exports.glo_v24_public = new glo_C2_private(); // error