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