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