• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// @allowUnreachableCode: true
2
3class Base { private p; }
4class Derived1 extends Base { private m; }
5class Derived2 extends Base { private n; }
6interface Genric<T> { func(n: T[]); }
7var b = new Base(), d1 = new Derived1(), d2 = new Derived2();
8var x1: () => Base[] = () => [d1, d2];
9var x2: () => Base[] = function() { return [d1, d2] };
10var x3: () => Base[] = function named() { return [d1, d2] };
11var x4: { (): Base[]; } = () => [d1, d2];
12var x5: { (): Base[]; } = function() { return [d1, d2] };
13var x6: { (): Base[]; } = function named() { return [d1, d2] };
14var x7: Base[] = [d1, d2];
15var x8: Array<Base> = [d1, d2];
16var x9: { [n: number]: Base; } = [d1, d2];
17var x10: {n: Base[]; }  = { n: [d1, d2] };
18var x11: (s: Base[]) => any = n => { var n: Base[]; return null; };
19var x12: Genric<Base> = { func: n => { return [d1, d2]; } };
20class x13 { member: () => Base[] = () => [d1, d2] }
21class x14 { member: () => Base[] = function() { return [d1, d2] } }
22class x15 { member: () => Base[] = function named() { return [d1, d2] } }
23class x16 { member: { (): Base[]; } = () => [d1, d2] }
24class x17 { member: { (): Base[]; } = function() { return [d1, d2] } }
25class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } }
26class x19 { member: Base[] = [d1, d2] }
27class x20 { member: Array<Base> = [d1, d2] }
28class x21 { member: { [n: number]: Base; } = [d1, d2] }
29class x22 { member: {n: Base[]; }  = { n: [d1, d2] } }
30class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
31class x24 { member: Genric<Base> = { func: n => { return [d1, d2]; } } }
32class x25 { private member: () => Base[] = () => [d1, d2] }
33class x26 { private member: () => Base[] = function() { return [d1, d2] } }
34class x27 { private member: () => Base[] = function named() { return [d1, d2] } }
35class x28 { private member: { (): Base[]; } = () => [d1, d2] }
36class x29 { private member: { (): Base[]; } = function() { return [d1, d2] } }
37class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] } }
38class x31 { private member: Base[] = [d1, d2] }
39class x32 { private member: Array<Base> = [d1, d2] }
40class x33 { private member: { [n: number]: Base; } = [d1, d2] }
41class x34 { private member: {n: Base[]; }  = { n: [d1, d2] } }
42class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
43class x36 { private member: Genric<Base> = { func: n => { return [d1, d2]; } } }
44class x37 { public member: () => Base[] = () => [d1, d2] }
45class x38 { public member: () => Base[] = function() { return [d1, d2] } }
46class x39 { public member: () => Base[] = function named() { return [d1, d2] } }
47class x40 { public member: { (): Base[]; } = () => [d1, d2] }
48class x41 { public member: { (): Base[]; } = function() { return [d1, d2] } }
49class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] } }
50class x43 { public member: Base[] = [d1, d2] }
51class x44 { public member: Array<Base> = [d1, d2] }
52class x45 { public member: { [n: number]: Base; } = [d1, d2] }
53class x46 { public member: {n: Base[]; }  = { n: [d1, d2] } }
54class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
55class x48 { public member: Genric<Base> = { func: n => { return [d1, d2]; } } }
56class x49 { static member: () => Base[] = () => [d1, d2] }
57class x50 { static member: () => Base[] = function() { return [d1, d2] } }
58class x51 { static member: () => Base[] = function named() { return [d1, d2] } }
59class x52 { static member: { (): Base[]; } = () => [d1, d2] }
60class x53 { static member: { (): Base[]; } = function() { return [d1, d2] } }
61class x54 { static member: { (): Base[]; } = function named() { return [d1, d2] } }
62class x55 { static member: Base[] = [d1, d2] }
63class x56 { static member: Array<Base> = [d1, d2] }
64class x57 { static member: { [n: number]: Base; } = [d1, d2] }
65class x58 { static member: {n: Base[]; }  = { n: [d1, d2] } }
66class x59 { static member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
67class x60 { static member: Genric<Base> = { func: n => { return [d1, d2]; } } }
68class x61 { private static member: () => Base[] = () => [d1, d2] }
69class x62 { private static member: () => Base[] = function() { return [d1, d2] } }
70class x63 { private static member: () => Base[] = function named() { return [d1, d2] } }
71class x64 { private static member: { (): Base[]; } = () => [d1, d2] }
72class x65 { private static member: { (): Base[]; } = function() { return [d1, d2] } }
73class x66 { private static member: { (): Base[]; } = function named() { return [d1, d2] } }
74class x67 { private static member: Base[] = [d1, d2] }
75class x68 { private static member: Array<Base> = [d1, d2] }
76class x69 { private static member: { [n: number]: Base; } = [d1, d2] }
77class x70 { private static member: {n: Base[]; }  = { n: [d1, d2] } }
78class x71 { private static member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
79class x72 { private static member: Genric<Base> = { func: n => { return [d1, d2]; } } }
80class x73 { public static member: () => Base[] = () => [d1, d2] }
81class x74 { public static member: () => Base[] = function() { return [d1, d2] } }
82class x75 { public static member: () => Base[] = function named() { return [d1, d2] } }
83class x76 { public static member: { (): Base[]; } = () => [d1, d2] }
84class x77 { public static member: { (): Base[]; } = function() { return [d1, d2] } }
85class x78 { public static member: { (): Base[]; } = function named() { return [d1, d2] } }
86class x79 { public static member: Base[] = [d1, d2] }
87class x80 { public static member: Array<Base> = [d1, d2] }
88class x81 { public static member: { [n: number]: Base; } = [d1, d2] }
89class x82 { public static member: {n: Base[]; }  = { n: [d1, d2] } }
90class x83 { public static member: (s: Base[]) => any = n => { var n: Base[]; return null; } }
91class x84 { public static member: Genric<Base> = { func: n => { return [d1, d2]; } } }
92class x85 { constructor(parm: () => Base[] = () => [d1, d2]) { } }
93class x86 { constructor(parm: () => Base[] = function() { return [d1, d2] }) { } }
94class x87 { constructor(parm: () => Base[] = function named() { return [d1, d2] }) { } }
95class x88 { constructor(parm: { (): Base[]; } = () => [d1, d2]) { } }
96class x89 { constructor(parm: { (): Base[]; } = function() { return [d1, d2] }) { } }
97class x90 { constructor(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } }
98class x91 { constructor(parm: Base[] = [d1, d2]) { } }
99class x92 { constructor(parm: Array<Base> = [d1, d2]) { } }
100class x93 { constructor(parm: { [n: number]: Base; } = [d1, d2]) { } }
101class x94 { constructor(parm: {n: Base[]; }  = { n: [d1, d2] }) { } }
102class x95 { constructor(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } }
103class x96 { constructor(parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } }
104class x97 { constructor(public parm: () => Base[] = () => [d1, d2]) { } }
105class x98 { constructor(public parm: () => Base[] = function() { return [d1, d2] }) { } }
106class x99 { constructor(public parm: () => Base[] = function named() { return [d1, d2] }) { } }
107class x100 { constructor(public parm: { (): Base[]; } = () => [d1, d2]) { } }
108class x101 { constructor(public parm: { (): Base[]; } = function() { return [d1, d2] }) { } }
109class x102 { constructor(public parm: { (): Base[]; } = function named() { return [d1, d2] }) { } }
110class x103 { constructor(public parm: Base[] = [d1, d2]) { } }
111class x104 { constructor(public parm: Array<Base> = [d1, d2]) { } }
112class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } }
113class x106 { constructor(public parm: {n: Base[]; }  = { n: [d1, d2] }) { } }
114class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } }
115class x108 { constructor(public parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } }
116class x109 { constructor(private parm: () => Base[] = () => [d1, d2]) { } }
117class x110 { constructor(private parm: () => Base[] = function() { return [d1, d2] }) { } }
118class x111 { constructor(private parm: () => Base[] = function named() { return [d1, d2] }) { } }
119class x112 { constructor(private parm: { (): Base[]; } = () => [d1, d2]) { } }
120class x113 { constructor(private parm: { (): Base[]; } = function() { return [d1, d2] }) { } }
121class x114 { constructor(private parm: { (): Base[]; } = function named() { return [d1, d2] }) { } }
122class x115 { constructor(private parm: Base[] = [d1, d2]) { } }
123class x116 { constructor(private parm: Array<Base> = [d1, d2]) { } }
124class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } }
125class x118 { constructor(private parm: {n: Base[]; }  = { n: [d1, d2] }) { } }
126class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } }
127class x120 { constructor(private parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { } }
128function x121(parm: () => Base[] = () => [d1, d2]) { }
129function x122(parm: () => Base[] = function() { return [d1, d2] }) { }
130function x123(parm: () => Base[] = function named() { return [d1, d2] }) { }
131function x124(parm: { (): Base[]; } = () => [d1, d2]) { }
132function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { }
133function x126(parm: { (): Base[]; } = function named() { return [d1, d2] }) { }
134function x127(parm: Base[] = [d1, d2]) { }
135function x128(parm: Array<Base> = [d1, d2]) { }
136function x129(parm: { [n: number]: Base; } = [d1, d2]) { }
137function x130(parm: {n: Base[]; }  = { n: [d1, d2] }) { }
138function x131(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { }
139function x132(parm: Genric<Base> = { func: n => { return [d1, d2]; } }) { }
140function x133(): () => Base[] { return () => [d1, d2]; }
141function x134(): () => Base[] { return function() { return [d1, d2] }; }
142function x135(): () => Base[] { return function named() { return [d1, d2] }; }
143function x136(): { (): Base[]; } { return () => [d1, d2]; }
144function x137(): { (): Base[]; } { return function() { return [d1, d2] }; }
145function x138(): { (): Base[]; } { return function named() { return [d1, d2] }; }
146function x139(): Base[] { return [d1, d2]; }
147function x140(): Array<Base> { return [d1, d2]; }
148function x141(): { [n: number]: Base; } { return [d1, d2]; }
149function x142(): {n: Base[]; }  { return { n: [d1, d2] }; }
150function x143(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; }
151function x144(): Genric<Base> { return { func: n => { return [d1, d2]; } }; }
152function x145(): () => Base[] { return () => [d1, d2]; return () => [d1, d2]; }
153function x146(): () => Base[] { return function() { return [d1, d2] }; return function() { return [d1, d2] }; }
154function x147(): () => Base[] { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; }
155function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; }
156function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return function() { return [d1, d2] }; }
157function x150(): { (): Base[]; } { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; }
158function x151(): Base[] { return [d1, d2]; return [d1, d2]; }
159function x152(): Array<Base> { return [d1, d2]; return [d1, d2]; }
160function x153(): { [n: number]: Base; } { return [d1, d2]; return [d1, d2]; }
161function x154(): {n: Base[]; }  { return { n: [d1, d2] }; return { n: [d1, d2] }; }
162function x155(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; return n => { var n: Base[]; return null; }; }
163function x156(): Genric<Base> { return { func: n => { return [d1, d2]; } }; return { func: n => { return [d1, d2]; } }; }
164var x157: () => () => Base[] = () => { return () => [d1, d2]; };
165var x158: () => () => Base[] = () => { return function() { return [d1, d2] }; };
166var x159: () => () => Base[] = () => { return function named() { return [d1, d2] }; };
167var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; };
168var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; };
169var x162: () => { (): Base[]; } = () => { return function named() { return [d1, d2] }; };
170var x163: () => Base[] = () => { return [d1, d2]; };
171var x164: () => Array<Base> = () => { return [d1, d2]; };
172var x165: () => { [n: number]: Base; } = () => { return [d1, d2]; };
173var x166: () => {n: Base[]; }  = () => { return { n: [d1, d2] }; };
174var x167: () => (s: Base[]) => any = () => { return n => { var n: Base[]; return null; }; };
175var x168: () => Genric<Base> = () => { return { func: n => { return [d1, d2]; } }; };
176var x169: () => () => Base[] = function() { return () => [d1, d2]; };
177var x170: () => () => Base[] = function() { return function() { return [d1, d2] }; };
178var x171: () => () => Base[] = function() { return function named() { return [d1, d2] }; };
179var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; };
180var x173: () => { (): Base[]; } = function() { return function() { return [d1, d2] }; };
181var x174: () => { (): Base[]; } = function() { return function named() { return [d1, d2] }; };
182var x175: () => Base[] = function() { return [d1, d2]; };
183var x176: () => Array<Base> = function() { return [d1, d2]; };
184var x177: () => { [n: number]: Base; } = function() { return [d1, d2]; };
185var x178: () => {n: Base[]; }  = function() { return { n: [d1, d2] }; };
186var x179: () => (s: Base[]) => any = function() { return n => { var n: Base[]; return null; }; };
187var x180: () => Genric<Base> = function() { return { func: n => { return [d1, d2]; } }; };
188module x181 { var t: () => Base[] = () => [d1, d2]; }
189module x182 { var t: () => Base[] = function() { return [d1, d2] }; }
190module x183 { var t: () => Base[] = function named() { return [d1, d2] }; }
191module x184 { var t: { (): Base[]; } = () => [d1, d2]; }
192module x185 { var t: { (): Base[]; } = function() { return [d1, d2] }; }
193module x186 { var t: { (): Base[]; } = function named() { return [d1, d2] }; }
194module x187 { var t: Base[] = [d1, d2]; }
195module x188 { var t: Array<Base> = [d1, d2]; }
196module x189 { var t: { [n: number]: Base; } = [d1, d2]; }
197module x190 { var t: {n: Base[]; }  = { n: [d1, d2] }; }
198module x191 { var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; }
199module x192 { var t: Genric<Base> = { func: n => { return [d1, d2]; } }; }
200module x193 { export var t: () => Base[] = () => [d1, d2]; }
201module x194 { export var t: () => Base[] = function() { return [d1, d2] }; }
202module x195 { export var t: () => Base[] = function named() { return [d1, d2] }; }
203module x196 { export var t: { (): Base[]; } = () => [d1, d2]; }
204module x197 { export var t: { (): Base[]; } = function() { return [d1, d2] }; }
205module x198 { export var t: { (): Base[]; } = function named() { return [d1, d2] }; }
206module x199 { export var t: Base[] = [d1, d2]; }
207module x200 { export var t: Array<Base> = [d1, d2]; }
208module x201 { export var t: { [n: number]: Base; } = [d1, d2]; }
209module x202 { export var t: {n: Base[]; }  = { n: [d1, d2] }; }
210module x203 { export var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; }
211module x204 { export var t: Genric<Base> = { func: n => { return [d1, d2]; } }; }
212var x206 = <() => Base[]>function() { return [d1, d2] };
213var x207 = <() => Base[]>function named() { return [d1, d2] };
214var x209 = <{ (): Base[]; }>function() { return [d1, d2] };
215var x210 = <{ (): Base[]; }>function named() { return [d1, d2] };
216var x211 = <Base[]>[d1, d2];
217var x212 = <Array<Base>>[d1, d2];
218var x213 = <{ [n: number]: Base; }>[d1, d2];
219var x214 = <{n: Base[]; } >{ n: [d1, d2] };
220var x216 = <Genric<Base>>{ func: n => { return [d1, d2]; } };
221var x217 = (<() => Base[]>undefined) || function() { return [d1, d2] };
222var x218 = (<() => Base[]>undefined) || function named() { return [d1, d2] };
223var x219 = (<{ (): Base[]; }>undefined) || function() { return [d1, d2] };
224var x220 = (<{ (): Base[]; }>undefined) || function named() { return [d1, d2] };
225var x221 = (<Base[]>undefined) || [d1, d2];
226var x222 = (<Array<Base>>undefined) || [d1, d2];
227var x223 = (<{ [n: number]: Base; }>undefined) || [d1, d2];
228var x224 = (<{n: Base[]; } >undefined) || { n: [d1, d2] };
229var x225: () => Base[]; x225 = () => [d1, d2];
230var x226: () => Base[]; x226 = function() { return [d1, d2] };
231var x227: () => Base[]; x227 = function named() { return [d1, d2] };
232var x228: { (): Base[]; }; x228 = () => [d1, d2];
233var x229: { (): Base[]; }; x229 = function() { return [d1, d2] };
234var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] };
235var x231: Base[]; x231 = [d1, d2];
236var x232: Array<Base>; x232 = [d1, d2];
237var x233: { [n: number]: Base; }; x233 = [d1, d2];
238var x234: {n: Base[]; } ; x234 = { n: [d1, d2] };
239var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; };
240var x236: Genric<Base>; x236 = { func: n => { return [d1, d2]; } };
241var x237: { n: () => Base[]; } = { n: () => [d1, d2] };
242var x238: { n: () => Base[]; } = { n: function() { return [d1, d2] } };
243var x239: { n: () => Base[]; } = { n: function named() { return [d1, d2] } };
244var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] };
245var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } };
246var x242: { n: { (): Base[]; }; } = { n: function named() { return [d1, d2] } };
247var x243: { n: Base[]; } = { n: [d1, d2] };
248var x244: { n: Array<Base>; } = { n: [d1, d2] };
249var x245: { n: { [n: number]: Base; }; } = { n: [d1, d2] };
250var x246: { n: {n: Base[]; } ; } = { n: { n: [d1, d2] } };
251var x247: { n: (s: Base[]) => any; } = { n: n => { var n: Base[]; return null; } };
252var x248: { n: Genric<Base>; } = { n: { func: n => { return [d1, d2]; } } };
253var x252: { (): Base[]; }[] = [() => [d1, d2]];
254var x253: { (): Base[]; }[] = [function() { return [d1, d2] }];
255var x254: { (): Base[]; }[] = [function named() { return [d1, d2] }];
256var x255: Base[][] = [[d1, d2]];
257var x256: Array<Base>[] = [[d1, d2]];
258var x257: { [n: number]: Base; }[] = [[d1, d2]];
259var x258: {n: Base[]; } [] = [{ n: [d1, d2] }];
260var x260: Genric<Base>[] = [{ func: n => { return [d1, d2]; } }];
261var x261: () => Base[] = function() { return [d1, d2] } || undefined;
262var x262: () => Base[] = function named() { return [d1, d2] } || undefined;
263var x263: { (): Base[]; } = function() { return [d1, d2] } || undefined;
264var x264: { (): Base[]; } = function named() { return [d1, d2] } || undefined;
265var x265: Base[] = [d1, d2] || undefined;
266var x266: Array<Base> = [d1, d2] || undefined;
267var x267: { [n: number]: Base; } = [d1, d2] || undefined;
268var x268: {n: Base[]; }  = { n: [d1, d2] } || undefined;
269var x269: () => Base[] = undefined || function() { return [d1, d2] };
270var x270: () => Base[] = undefined || function named() { return [d1, d2] };
271var x271: { (): Base[]; } = undefined || function() { return [d1, d2] };
272var x272: { (): Base[]; } = undefined || function named() { return [d1, d2] };
273var x273: Base[] = undefined || [d1, d2];
274var x274: Array<Base> = undefined || [d1, d2];
275var x275: { [n: number]: Base; } = undefined || [d1, d2];
276var x276: {n: Base[]; }  = undefined || { n: [d1, d2] };
277var x277: () => Base[] = function() { return [d1, d2] } || function() { return [d1, d2] };
278var x278: () => Base[] = function named() { return [d1, d2] } || function named() { return [d1, d2] };
279var x279: { (): Base[]; } = function() { return [d1, d2] } || function() { return [d1, d2] };
280var x280: { (): Base[]; } = function named() { return [d1, d2] } || function named() { return [d1, d2] };
281var x281: Base[] = [d1, d2] || [d1, d2];
282var x282: Array<Base> = [d1, d2] || [d1, d2];
283var x283: { [n: number]: Base; } = [d1, d2] || [d1, d2];
284var x284: {n: Base[]; }  = { n: [d1, d2] } || { n: [d1, d2] };
285var x285: () => Base[] = true ? () => [d1, d2] : () => [d1, d2];
286var x286: () => Base[] = true ? function() { return [d1, d2] } : function() { return [d1, d2] };
287var x287: () => Base[] = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] };
288var x288: { (): Base[]; } = true ? () => [d1, d2] : () => [d1, d2];
289var x289: { (): Base[]; } = true ? function() { return [d1, d2] } : function() { return [d1, d2] };
290var x290: { (): Base[]; } = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] };
291var x291: Base[] = true ? [d1, d2] : [d1, d2];
292var x292: Array<Base> = true ? [d1, d2] : [d1, d2];
293var x293: { [n: number]: Base; } = true ? [d1, d2] : [d1, d2];
294var x294: {n: Base[]; }  = true ? { n: [d1, d2] } : { n: [d1, d2] };
295var x295: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; };
296var x296: Genric<Base> = true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } };
297var x297: () => Base[] = true ? undefined : () => [d1, d2];
298var x298: () => Base[] = true ? undefined : function() { return [d1, d2] };
299var x299: () => Base[] = true ? undefined : function named() { return [d1, d2] };
300var x300: { (): Base[]; } = true ? undefined : () => [d1, d2];
301var x301: { (): Base[]; } = true ? undefined : function() { return [d1, d2] };
302var x302: { (): Base[]; } = true ? undefined : function named() { return [d1, d2] };
303var x303: Base[] = true ? undefined : [d1, d2];
304var x304: Array<Base> = true ? undefined : [d1, d2];
305var x305: { [n: number]: Base; } = true ? undefined : [d1, d2];
306var x306: {n: Base[]; }  = true ? undefined : { n: [d1, d2] };
307var x307: (s: Base[]) => any = true ? undefined : n => { var n: Base[]; return null; };
308var x308: Genric<Base> = true ? undefined : { func: n => { return [d1, d2]; } };
309var x309: () => Base[] = true ? () => [d1, d2] : undefined;
310var x310: () => Base[] = true ? function() { return [d1, d2] } : undefined;
311var x311: () => Base[] = true ? function named() { return [d1, d2] } : undefined;
312var x312: { (): Base[]; } = true ? () => [d1, d2] : undefined;
313var x313: { (): Base[]; } = true ? function() { return [d1, d2] } : undefined;
314var x314: { (): Base[]; } = true ? function named() { return [d1, d2] } : undefined;
315var x315: Base[] = true ? [d1, d2] : undefined;
316var x316: Array<Base> = true ? [d1, d2] : undefined;
317var x317: { [n: number]: Base; } = true ? [d1, d2] : undefined;
318var x318: {n: Base[]; }  = true ? { n: [d1, d2] } : undefined;
319var x319: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : undefined;
320var x320: Genric<Base> = true ? { func: n => { return [d1, d2]; } } : undefined;
321function x321(n: () => Base[]) { }; x321(() => [d1, d2]);
322function x322(n: () => Base[]) { }; x322(function() { return [d1, d2] });
323function x323(n: () => Base[]) { }; x323(function named() { return [d1, d2] });
324function x324(n: { (): Base[]; }) { }; x324(() => [d1, d2]);
325function x325(n: { (): Base[]; }) { }; x325(function() { return [d1, d2] });
326function x326(n: { (): Base[]; }) { }; x326(function named() { return [d1, d2] });
327function x327(n: Base[]) { }; x327([d1, d2]);
328function x328(n: Array<Base>) { }; x328([d1, d2]);
329function x329(n: { [n: number]: Base; }) { }; x329([d1, d2]);
330function x330(n: {n: Base[]; } ) { }; x330({ n: [d1, d2] });
331function x331(n: (s: Base[]) => any) { }; x331(n => { var n: Base[]; return null; });
332function x332(n: Genric<Base>) { }; x332({ func: n => { return [d1, d2]; } });
333var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]);
334var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] });
335var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] });
336var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]);
337var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] });
338var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] });
339var x339 = (n: Base[]) => n; x339([d1, d2]);
340var x340 = (n: Array<Base>) => n; x340([d1, d2]);
341var x341 = (n: { [n: number]: Base; }) => n; x341([d1, d2]);
342var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] });
343var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; });
344var x344 = (n: Genric<Base>) => n; x344({ func: n => { return [d1, d2]; } });
345var x345 = function(n: () => Base[]) { }; x345(() => [d1, d2]);
346var x346 = function(n: () => Base[]) { }; x346(function() { return [d1, d2] });
347var x347 = function(n: () => Base[]) { }; x347(function named() { return [d1, d2] });
348var x348 = function(n: { (): Base[]; }) { }; x348(() => [d1, d2]);
349var x349 = function(n: { (): Base[]; }) { }; x349(function() { return [d1, d2] });
350var x350 = function(n: { (): Base[]; }) { }; x350(function named() { return [d1, d2] });
351var x351 = function(n: Base[]) { }; x351([d1, d2]);
352var x352 = function(n: Array<Base>) { }; x352([d1, d2]);
353var x353 = function(n: { [n: number]: Base; }) { }; x353([d1, d2]);
354var x354 = function(n: {n: Base[]; } ) { }; x354({ n: [d1, d2] });
355var x355 = function(n: (s: Base[]) => any) { }; x355(n => { var n: Base[]; return null; });
356var x356 = function(n: Genric<Base>) { }; x356({ func: n => { return [d1, d2]; } });