1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSModuleDeclaration", 6 "id": { 7 "type": "Identifier", 8 "name": "ns", 9 "loc": { 10 "start": { 11 "line": 17, 12 "column": 19 13 }, 14 "end": { 15 "line": 17, 16 "column": 21 17 } 18 } 19 }, 20 "body": { 21 "type": "TSModuleBlock", 22 "body": [ 23 { 24 "type": "ClassDeclaration", 25 "definition": { 26 "id": { 27 "type": "Identifier", 28 "name": "C1", 29 "loc": { 30 "start": { 31 "line": 18, 32 "column": 11 33 }, 34 "end": { 35 "line": 18, 36 "column": 13 37 } 38 } 39 }, 40 "superClass": null, 41 "implements": [], 42 "constructor": { 43 "type": "MethodDefinition", 44 "key": { 45 "type": "Identifier", 46 "name": "constructor", 47 "loc": { 48 "start": { 49 "line": 1, 50 "column": 1 51 }, 52 "end": { 53 "line": 1, 54 "column": 1 55 } 56 } 57 }, 58 "kind": "constructor", 59 "static": false, 60 "optional": false, 61 "computed": false, 62 "value": { 63 "type": "FunctionExpression", 64 "function": { 65 "type": "ScriptFunction", 66 "id": null, 67 "generator": false, 68 "async": false, 69 "expression": false, 70 "params": [], 71 "declare": true, 72 "loc": { 73 "start": { 74 "line": 1, 75 "column": 1 76 }, 77 "end": { 78 "line": 1, 79 "column": 1 80 } 81 } 82 }, 83 "loc": { 84 "start": { 85 "line": 1, 86 "column": 1 87 }, 88 "end": { 89 "line": 1, 90 "column": 1 91 } 92 } 93 }, 94 "overloads": [], 95 "decorators": [], 96 "loc": { 97 "start": { 98 "line": 18, 99 "column": 5 100 }, 101 "end": { 102 "line": 18, 103 "column": 16 104 } 105 } 106 }, 107 "body": [], 108 "indexSignatures": [], 109 "loc": { 110 "start": { 111 "line": 18, 112 "column": 14 113 }, 114 "end": { 115 "line": 18, 116 "column": 16 117 } 118 } 119 }, 120 "decorators": [], 121 "loc": { 122 "start": { 123 "line": 18, 124 "column": 5 125 }, 126 "end": { 127 "line": 18, 128 "column": 16 129 } 130 } 131 }, 132 { 133 "type": "TSDeclareFunction", 134 "function": { 135 "type": "ScriptFunction", 136 "id": { 137 "type": "Identifier", 138 "name": "C1", 139 "loc": { 140 "start": { 141 "line": 19, 142 "column": 14 143 }, 144 "end": { 145 "line": 19, 146 "column": 16 147 } 148 } 149 }, 150 "generator": false, 151 "async": false, 152 "expression": false, 153 "params": [], 154 "returnType": { 155 "type": "TSTypeReference", 156 "typeName": { 157 "type": "Identifier", 158 "name": "C1", 159 "loc": { 160 "start": { 161 "line": 19, 162 "column": 21 163 }, 164 "end": { 165 "line": 19, 166 "column": 23 167 } 168 } 169 }, 170 "loc": { 171 "start": { 172 "line": 19, 173 "column": 21 174 }, 175 "end": { 176 "line": 19, 177 "column": 23 178 } 179 } 180 }, 181 "loc": { 182 "start": { 183 "line": 19, 184 "column": 5 185 }, 186 "end": { 187 "line": 20, 188 "column": 13 189 } 190 } 191 }, 192 "loc": { 193 "start": { 194 "line": 19, 195 "column": 5 196 }, 197 "end": { 198 "line": 20, 199 "column": 13 200 } 201 } 202 }, 203 { 204 "type": "TSDeclareFunction", 205 "function": { 206 "type": "ScriptFunction", 207 "id": { 208 "type": "Identifier", 209 "name": "C1", 210 "loc": { 211 "start": { 212 "line": 20, 213 "column": 14 214 }, 215 "end": { 216 "line": 20, 217 "column": 16 218 } 219 } 220 }, 221 "generator": false, 222 "async": false, 223 "expression": false, 224 "params": [], 225 "returnType": { 226 "type": "TSTypeReference", 227 "typeName": { 228 "type": "Identifier", 229 "name": "C1", 230 "loc": { 231 "start": { 232 "line": 20, 233 "column": 21 234 }, 235 "end": { 236 "line": 20, 237 "column": 23 238 } 239 } 240 }, 241 "loc": { 242 "start": { 243 "line": 20, 244 "column": 21 245 }, 246 "end": { 247 "line": 20, 248 "column": 23 249 } 250 } 251 }, 252 "loc": { 253 "start": { 254 "line": 20, 255 "column": 5 256 }, 257 "end": { 258 "line": 22, 259 "column": 13 260 } 261 } 262 }, 263 "loc": { 264 "start": { 265 "line": 20, 266 "column": 5 267 }, 268 "end": { 269 "line": 22, 270 "column": 13 271 } 272 } 273 }, 274 { 275 "type": "TSDeclareFunction", 276 "function": { 277 "type": "ScriptFunction", 278 "id": { 279 "type": "Identifier", 280 "name": "C2", 281 "loc": { 282 "start": { 283 "line": 22, 284 "column": 14 285 }, 286 "end": { 287 "line": 22, 288 "column": 16 289 } 290 } 291 }, 292 "generator": false, 293 "async": false, 294 "expression": false, 295 "params": [], 296 "returnType": { 297 "type": "TSTypeReference", 298 "typeName": { 299 "type": "Identifier", 300 "name": "C2", 301 "loc": { 302 "start": { 303 "line": 22, 304 "column": 21 305 }, 306 "end": { 307 "line": 22, 308 "column": 23 309 } 310 } 311 }, 312 "loc": { 313 "start": { 314 "line": 22, 315 "column": 21 316 }, 317 "end": { 318 "line": 22, 319 "column": 23 320 } 321 } 322 }, 323 "loc": { 324 "start": { 325 "line": 22, 326 "column": 5 327 }, 328 "end": { 329 "line": 23, 330 "column": 13 331 } 332 } 333 }, 334 "loc": { 335 "start": { 336 "line": 22, 337 "column": 5 338 }, 339 "end": { 340 "line": 23, 341 "column": 13 342 } 343 } 344 }, 345 { 346 "type": "TSDeclareFunction", 347 "function": { 348 "type": "ScriptFunction", 349 "id": { 350 "type": "Identifier", 351 "name": "C2", 352 "loc": { 353 "start": { 354 "line": 23, 355 "column": 14 356 }, 357 "end": { 358 "line": 23, 359 "column": 16 360 } 361 } 362 }, 363 "generator": false, 364 "async": false, 365 "expression": false, 366 "params": [], 367 "returnType": { 368 "type": "TSTypeReference", 369 "typeName": { 370 "type": "Identifier", 371 "name": "C2", 372 "loc": { 373 "start": { 374 "line": 23, 375 "column": 21 376 }, 377 "end": { 378 "line": 23, 379 "column": 23 380 } 381 } 382 }, 383 "loc": { 384 "start": { 385 "line": 23, 386 "column": 21 387 }, 388 "end": { 389 "line": 23, 390 "column": 23 391 } 392 } 393 }, 394 "loc": { 395 "start": { 396 "line": 23, 397 "column": 5 398 }, 399 "end": { 400 "line": 24, 401 "column": 10 402 } 403 } 404 }, 405 "loc": { 406 "start": { 407 "line": 23, 408 "column": 5 409 }, 410 "end": { 411 "line": 24, 412 "column": 10 413 } 414 } 415 }, 416 { 417 "type": "ClassDeclaration", 418 "definition": { 419 "id": { 420 "type": "Identifier", 421 "name": "C2", 422 "loc": { 423 "start": { 424 "line": 24, 425 "column": 11 426 }, 427 "end": { 428 "line": 24, 429 "column": 13 430 } 431 } 432 }, 433 "superClass": null, 434 "implements": [], 435 "constructor": { 436 "type": "MethodDefinition", 437 "key": { 438 "type": "Identifier", 439 "name": "constructor", 440 "loc": { 441 "start": { 442 "line": 1, 443 "column": 1 444 }, 445 "end": { 446 "line": 1, 447 "column": 1 448 } 449 } 450 }, 451 "kind": "constructor", 452 "static": false, 453 "optional": false, 454 "computed": false, 455 "value": { 456 "type": "FunctionExpression", 457 "function": { 458 "type": "ScriptFunction", 459 "id": null, 460 "generator": false, 461 "async": false, 462 "expression": false, 463 "params": [], 464 "declare": true, 465 "loc": { 466 "start": { 467 "line": 1, 468 "column": 1 469 }, 470 "end": { 471 "line": 1, 472 "column": 1 473 } 474 } 475 }, 476 "loc": { 477 "start": { 478 "line": 1, 479 "column": 1 480 }, 481 "end": { 482 "line": 1, 483 "column": 1 484 } 485 } 486 }, 487 "overloads": [], 488 "decorators": [], 489 "loc": { 490 "start": { 491 "line": 24, 492 "column": 5 493 }, 494 "end": { 495 "line": 24, 496 "column": 16 497 } 498 } 499 }, 500 "body": [], 501 "indexSignatures": [], 502 "loc": { 503 "start": { 504 "line": 24, 505 "column": 14 506 }, 507 "end": { 508 "line": 24, 509 "column": 16 510 } 511 } 512 }, 513 "decorators": [], 514 "loc": { 515 "start": { 516 "line": 24, 517 "column": 5 518 }, 519 "end": { 520 "line": 24, 521 "column": 16 522 } 523 } 524 } 525 ], 526 "loc": { 527 "start": { 528 "line": 17, 529 "column": 22 530 }, 531 "end": { 532 "line": 25, 533 "column": 2 534 } 535 } 536 }, 537 "declare": true, 538 "global": false, 539 "loc": { 540 "start": { 541 "line": 17, 542 "column": 9 543 }, 544 "end": { 545 "line": 26, 546 "column": 1 547 } 548 } 549 } 550 ], 551 "loc": { 552 "start": { 553 "line": 1, 554 "column": 1 555 }, 556 "end": { 557 "line": 26, 558 "column": 1 559 } 560 } 561} 562