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