• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "ETSGLOBAL",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 1,
14              "column": 1,
15              "program": "instanceof.ets"
16            },
17            "end": {
18              "line": 1,
19              "column": 1,
20              "program": "instanceof.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "main",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 1,
36                  "column": 1,
37                  "program": null
38                },
39                "end": {
40                  "line": 1,
41                  "column": 1,
42                  "program": null
43                }
44              }
45            },
46            "kind": "method",
47            "accessibility": "public",
48            "static": true,
49            "optional": false,
50            "computed": false,
51            "value": {
52              "type": "FunctionExpression",
53              "function": {
54                "type": "ScriptFunction",
55                "id": {
56                  "type": "Identifier",
57                  "name": "main",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 1,
62                      "column": 1,
63                      "program": null
64                    },
65                    "end": {
66                      "line": 1,
67                      "column": 1,
68                      "program": null
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [],
76                "body": {
77                  "type": "BlockStatement",
78                  "statements": [],
79                  "loc": {
80                    "start": {
81                      "line": 1,
82                      "column": 1,
83                      "program": null
84                    },
85                    "end": {
86                      "line": 1,
87                      "column": 1,
88                      "program": null
89                    }
90                  }
91                },
92                "loc": {
93                  "start": {
94                    "line": 1,
95                    "column": 1,
96                    "program": null
97                  },
98                  "end": {
99                    "line": 1,
100                    "column": 1,
101                    "program": null
102                  }
103                }
104              },
105              "loc": {
106                "start": {
107                  "line": 1,
108                  "column": 1,
109                  "program": null
110                },
111                "end": {
112                  "line": 1,
113                  "column": 1,
114                  "program": null
115                }
116              }
117            },
118            "overloads": [],
119            "decorators": [],
120            "loc": {
121              "start": {
122                "line": 1,
123                "column": 1,
124                "program": "instanceof.ets"
125              },
126              "end": {
127                "line": 1,
128                "column": 1,
129                "program": "instanceof.ets"
130              }
131            }
132          },
133          {
134            "type": "MethodDefinition",
135            "key": {
136              "type": "Identifier",
137              "name": "_$init$_",
138              "decorators": [],
139              "loc": {
140                "start": {
141                  "line": 1,
142                  "column": 1,
143                  "program": null
144                },
145                "end": {
146                  "line": 1,
147                  "column": 1,
148                  "program": null
149                }
150              }
151            },
152            "kind": "method",
153            "accessibility": "public",
154            "static": true,
155            "optional": false,
156            "computed": false,
157            "value": {
158              "type": "FunctionExpression",
159              "function": {
160                "type": "ScriptFunction",
161                "id": {
162                  "type": "Identifier",
163                  "name": "_$init$_",
164                  "decorators": [],
165                  "loc": {
166                    "start": {
167                      "line": 1,
168                      "column": 1,
169                      "program": null
170                    },
171                    "end": {
172                      "line": 1,
173                      "column": 1,
174                      "program": null
175                    }
176                  }
177                },
178                "generator": false,
179                "async": false,
180                "expression": false,
181                "params": [],
182                "body": {
183                  "type": "BlockStatement",
184                  "statements": [],
185                  "loc": {
186                    "start": {
187                      "line": 1,
188                      "column": 1,
189                      "program": null
190                    },
191                    "end": {
192                      "line": 1,
193                      "column": 1,
194                      "program": null
195                    }
196                  }
197                },
198                "loc": {
199                  "start": {
200                    "line": 1,
201                    "column": 1,
202                    "program": null
203                  },
204                  "end": {
205                    "line": 1,
206                    "column": 1,
207                    "program": null
208                  }
209                }
210              },
211              "loc": {
212                "start": {
213                  "line": 1,
214                  "column": 1,
215                  "program": null
216                },
217                "end": {
218                  "line": 1,
219                  "column": 1,
220                  "program": null
221                }
222              }
223            },
224            "overloads": [],
225            "decorators": [],
226            "loc": {
227              "start": {
228                "line": 1,
229                "column": 1,
230                "program": "instanceof.ets"
231              },
232              "end": {
233                "line": 1,
234                "column": 1,
235                "program": "instanceof.ets"
236              }
237            }
238          },
239          {
240            "type": "MethodDefinition",
241            "key": {
242              "type": "Identifier",
243              "name": "t",
244              "decorators": [],
245              "loc": {
246                "start": {
247                  "line": 16,
248                  "column": 10,
249                  "program": "instanceof.ets"
250                },
251                "end": {
252                  "line": 16,
253                  "column": 11,
254                  "program": "instanceof.ets"
255                }
256              }
257            },
258            "kind": "method",
259            "accessibility": "public",
260            "static": true,
261            "optional": false,
262            "computed": false,
263            "value": {
264              "type": "FunctionExpression",
265              "function": {
266                "type": "ScriptFunction",
267                "id": {
268                  "type": "Identifier",
269                  "name": "t",
270                  "decorators": [],
271                  "loc": {
272                    "start": {
273                      "line": 16,
274                      "column": 10,
275                      "program": "instanceof.ets"
276                    },
277                    "end": {
278                      "line": 16,
279                      "column": 11,
280                      "program": "instanceof.ets"
281                    }
282                  }
283                },
284                "generator": false,
285                "async": false,
286                "expression": false,
287                "params": [
288                  {
289                    "type": "ETSParameterExpression",
290                    "name": {
291                      "type": "Identifier",
292                      "name": "v",
293                      "typeAnnotation": {
294                        "type": "ETSTypeReference",
295                        "part": {
296                          "type": "ETSTypeReferencePart",
297                          "name": {
298                            "type": "Identifier",
299                            "name": "Object",
300                            "decorators": [],
301                            "loc": {
302                              "start": {
303                                "line": 16,
304                                "column": 15,
305                                "program": "instanceof.ets"
306                              },
307                              "end": {
308                                "line": 16,
309                                "column": 21,
310                                "program": "instanceof.ets"
311                              }
312                            }
313                          },
314                          "loc": {
315                            "start": {
316                              "line": 16,
317                              "column": 15,
318                              "program": "instanceof.ets"
319                            },
320                            "end": {
321                              "line": 16,
322                              "column": 22,
323                              "program": "instanceof.ets"
324                            }
325                          }
326                        },
327                        "loc": {
328                          "start": {
329                            "line": 16,
330                            "column": 15,
331                            "program": "instanceof.ets"
332                          },
333                          "end": {
334                            "line": 16,
335                            "column": 22,
336                            "program": "instanceof.ets"
337                          }
338                        }
339                      },
340                      "decorators": [],
341                      "loc": {
342                        "start": {
343                          "line": 16,
344                          "column": 12,
345                          "program": "instanceof.ets"
346                        },
347                        "end": {
348                          "line": 16,
349                          "column": 22,
350                          "program": "instanceof.ets"
351                        }
352                      }
353                    },
354                    "loc": {
355                      "start": {
356                        "line": 16,
357                        "column": 12,
358                        "program": "instanceof.ets"
359                      },
360                      "end": {
361                        "line": 16,
362                        "column": 22,
363                        "program": "instanceof.ets"
364                      }
365                    }
366                  }
367                ],
368                "returnType": {
369                  "type": "ETSPrimitiveType",
370                  "loc": {
371                    "start": {
372                      "line": 16,
373                      "column": 24,
374                      "program": "instanceof.ets"
375                    },
376                    "end": {
377                      "line": 16,
378                      "column": 27,
379                      "program": "instanceof.ets"
380                    }
381                  }
382                },
383                "body": {
384                  "type": "BlockStatement",
385                  "statements": [
386                    {
387                      "type": "IfStatement",
388                      "test": {
389                        "type": "BinaryExpression",
390                        "operator": "instanceof",
391                        "left": {
392                          "type": "Identifier",
393                          "name": "v",
394                          "decorators": [],
395                          "loc": {
396                            "start": {
397                              "line": 17,
398                              "column": 7,
399                              "program": "instanceof.ets"
400                            },
401                            "end": {
402                              "line": 17,
403                              "column": 8,
404                              "program": "instanceof.ets"
405                            }
406                          }
407                        },
408                        "right": {
409                          "type": "ETSTypeReference",
410                          "part": {
411                            "type": "ETSTypeReferencePart",
412                            "name": {
413                              "type": "Identifier",
414                              "name": "string",
415                              "decorators": [],
416                              "loc": {
417                                "start": {
418                                  "line": 17,
419                                  "column": 20,
420                                  "program": "instanceof.ets"
421                                },
422                                "end": {
423                                  "line": 17,
424                                  "column": 26,
425                                  "program": "instanceof.ets"
426                                }
427                              }
428                            },
429                            "loc": {
430                              "start": {
431                                "line": 17,
432                                "column": 20,
433                                "program": "instanceof.ets"
434                              },
435                              "end": {
436                                "line": 17,
437                                "column": 27,
438                                "program": "instanceof.ets"
439                              }
440                            }
441                          },
442                          "loc": {
443                            "start": {
444                              "line": 17,
445                              "column": 20,
446                              "program": "instanceof.ets"
447                            },
448                            "end": {
449                              "line": 17,
450                              "column": 27,
451                              "program": "instanceof.ets"
452                            }
453                          }
454                        },
455                        "loc": {
456                          "start": {
457                            "line": 17,
458                            "column": 7,
459                            "program": "instanceof.ets"
460                          },
461                          "end": {
462                            "line": 17,
463                            "column": 27,
464                            "program": "instanceof.ets"
465                          }
466                        }
467                      },
468                      "consequent": {
469                        "type": "BlockStatement",
470                        "statements": [
471                          {
472                            "type": "ReturnStatement",
473                            "argument": {
474                              "type": "NumberLiteral",
475                              "value": 1,
476                              "loc": {
477                                "start": {
478                                  "line": 18,
479                                  "column": 12,
480                                  "program": "instanceof.ets"
481                                },
482                                "end": {
483                                  "line": 18,
484                                  "column": 13,
485                                  "program": "instanceof.ets"
486                                }
487                              }
488                            },
489                            "loc": {
490                              "start": {
491                                "line": 18,
492                                "column": 5,
493                                "program": "instanceof.ets"
494                              },
495                              "end": {
496                                "line": 18,
497                                "column": 14,
498                                "program": "instanceof.ets"
499                              }
500                            }
501                          }
502                        ],
503                        "loc": {
504                          "start": {
505                            "line": 17,
506                            "column": 28,
507                            "program": "instanceof.ets"
508                          },
509                          "end": {
510                            "line": 19,
511                            "column": 4,
512                            "program": "instanceof.ets"
513                          }
514                        }
515                      },
516                      "alternate": {
517                        "type": "IfStatement",
518                        "test": {
519                          "type": "BinaryExpression",
520                          "operator": "instanceof",
521                          "left": {
522                            "type": "Identifier",
523                            "name": "v",
524                            "decorators": [],
525                            "loc": {
526                              "start": {
527                                "line": 19,
528                                "column": 14,
529                                "program": "instanceof.ets"
530                              },
531                              "end": {
532                                "line": 19,
533                                "column": 15,
534                                "program": "instanceof.ets"
535                              }
536                            }
537                          },
538                          "right": {
539                            "type": "ETSTypeReference",
540                            "part": {
541                              "type": "ETSTypeReferencePart",
542                              "name": {
543                                "type": "Identifier",
544                                "name": "Array",
545                                "decorators": [],
546                                "loc": {
547                                  "start": {
548                                    "line": 1,
549                                    "column": 1,
550                                    "program": "instanceof.ets"
551                                  },
552                                  "end": {
553                                    "line": 1,
554                                    "column": 3,
555                                    "program": "instanceof.ets"
556                                  }
557                                }
558                              },
559                              "typeParams": {
560                                "type": "TSTypeParameterInstantiation",
561                                "params": [
562                                  {
563                                    "type": "ETSPrimitiveType",
564                                    "loc": {
565                                      "start": {
566                                        "line": 1,
567                                        "column": 3,
568                                        "program": "instanceof.ets"
569                                      },
570                                      "end": {
571                                        "line": 1,
572                                        "column": 3,
573                                        "program": "instanceof.ets"
574                                      }
575                                    }
576                                  }
577                                ],
578                                "loc": {
579                                  "start": {
580                                    "line": 1,
581                                    "column": 3,
582                                    "program": "instanceof.ets"
583                                  },
584                                  "end": {
585                                    "line": 1,
586                                    "column": 3,
587                                    "program": "instanceof.ets"
588                                  }
589                                }
590                              },
591                              "loc": {
592                                "start": {
593                                  "line": 1,
594                                  "column": 1,
595                                  "program": "instanceof.ets"
596                                },
597                                "end": {
598                                  "line": 1,
599                                  "column": 3,
600                                  "program": "instanceof.ets"
601                                }
602                              }
603                            },
604                            "loc": {
605                              "start": {
606                                "line": 19,
607                                "column": 30,
608                                "program": "instanceof.ets"
609                              },
610                              "end": {
611                                "line": 19,
612                                "column": 32,
613                                "program": "instanceof.ets"
614                              }
615                            }
616                          },
617                          "loc": {
618                            "start": {
619                              "line": 19,
620                              "column": 14,
621                              "program": "instanceof.ets"
622                            },
623                            "end": {
624                              "line": 19,
625                              "column": 32,
626                              "program": "instanceof.ets"
627                            }
628                          }
629                        },
630                        "consequent": {
631                          "type": "BlockStatement",
632                          "statements": [
633                            {
634                              "type": "ReturnStatement",
635                              "argument": {
636                                "type": "NumberLiteral",
637                                "value": 2,
638                                "loc": {
639                                  "start": {
640                                    "line": 20,
641                                    "column": 12,
642                                    "program": "instanceof.ets"
643                                  },
644                                  "end": {
645                                    "line": 20,
646                                    "column": 13,
647                                    "program": "instanceof.ets"
648                                  }
649                                }
650                              },
651                              "loc": {
652                                "start": {
653                                  "line": 20,
654                                  "column": 5,
655                                  "program": "instanceof.ets"
656                                },
657                                "end": {
658                                  "line": 20,
659                                  "column": 14,
660                                  "program": "instanceof.ets"
661                                }
662                              }
663                            }
664                          ],
665                          "loc": {
666                            "start": {
667                              "line": 19,
668                              "column": 34,
669                              "program": "instanceof.ets"
670                            },
671                            "end": {
672                              "line": 21,
673                              "column": 4,
674                              "program": "instanceof.ets"
675                            }
676                          }
677                        },
678                        "alternate": {
679                          "type": "IfStatement",
680                          "test": {
681                            "type": "BinaryExpression",
682                            "operator": "instanceof",
683                            "left": {
684                              "type": "Identifier",
685                              "name": "v",
686                              "decorators": [],
687                              "loc": {
688                                "start": {
689                                  "line": 21,
690                                  "column": 14,
691                                  "program": "instanceof.ets"
692                                },
693                                "end": {
694                                  "line": 21,
695                                  "column": 15,
696                                  "program": "instanceof.ets"
697                                }
698                              }
699                            },
700                            "right": {
701                              "type": "ETSTypeReference",
702                              "part": {
703                                "type": "ETSTypeReferencePart",
704                                "name": {
705                                  "type": "Identifier",
706                                  "name": "Array",
707                                  "decorators": [],
708                                  "loc": {
709                                    "start": {
710                                      "line": 1,
711                                      "column": 1,
712                                      "program": "instanceof.ets"
713                                    },
714                                    "end": {
715                                      "line": 1,
716                                      "column": 3,
717                                      "program": "instanceof.ets"
718                                    }
719                                  }
720                                },
721                                "typeParams": {
722                                  "type": "TSTypeParameterInstantiation",
723                                  "params": [
724                                    {
725                                      "type": "ETSTypeReference",
726                                      "part": {
727                                        "type": "ETSTypeReferencePart",
728                                        "name": {
729                                          "type": "Identifier",
730                                          "name": "Double",
731                                          "decorators": [],
732                                          "loc": {
733                                            "start": {
734                                              "line": 1,
735                                              "column": 3,
736                                              "program": "instanceof.ets"
737                                            },
738                                            "end": {
739                                              "line": 1,
740                                              "column": 3,
741                                              "program": "instanceof.ets"
742                                            }
743                                          }
744                                        },
745                                        "loc": {
746                                          "start": {
747                                            "line": 1,
748                                            "column": 3,
749                                            "program": "instanceof.ets"
750                                          },
751                                          "end": {
752                                            "line": 1,
753                                            "column": 3,
754                                            "program": "instanceof.ets"
755                                          }
756                                        }
757                                      },
758                                      "loc": {
759                                        "start": {
760                                          "line": 1,
761                                          "column": 3,
762                                          "program": "instanceof.ets"
763                                        },
764                                        "end": {
765                                          "line": 1,
766                                          "column": 3,
767                                          "program": "instanceof.ets"
768                                        }
769                                      }
770                                    }
771                                  ],
772                                  "loc": {
773                                    "start": {
774                                      "line": 1,
775                                      "column": 3,
776                                      "program": "instanceof.ets"
777                                    },
778                                    "end": {
779                                      "line": 1,
780                                      "column": 3,
781                                      "program": "instanceof.ets"
782                                    }
783                                  }
784                                },
785                                "loc": {
786                                  "start": {
787                                    "line": 1,
788                                    "column": 1,
789                                    "program": "instanceof.ets"
790                                  },
791                                  "end": {
792                                    "line": 1,
793                                    "column": 3,
794                                    "program": "instanceof.ets"
795                                  }
796                                }
797                              },
798                              "loc": {
799                                "start": {
800                                  "line": 21,
801                                  "column": 33,
802                                  "program": "instanceof.ets"
803                                },
804                                "end": {
805                                  "line": 21,
806                                  "column": 35,
807                                  "program": "instanceof.ets"
808                                }
809                              }
810                            },
811                            "loc": {
812                              "start": {
813                                "line": 21,
814                                "column": 14,
815                                "program": "instanceof.ets"
816                              },
817                              "end": {
818                                "line": 21,
819                                "column": 35,
820                                "program": "instanceof.ets"
821                              }
822                            }
823                          },
824                          "consequent": {
825                            "type": "BlockStatement",
826                            "statements": [
827                              {
828                                "type": "ReturnStatement",
829                                "argument": {
830                                  "type": "NumberLiteral",
831                                  "value": 3,
832                                  "loc": {
833                                    "start": {
834                                      "line": 22,
835                                      "column": 12,
836                                      "program": "instanceof.ets"
837                                    },
838                                    "end": {
839                                      "line": 22,
840                                      "column": 13,
841                                      "program": "instanceof.ets"
842                                    }
843                                  }
844                                },
845                                "loc": {
846                                  "start": {
847                                    "line": 22,
848                                    "column": 5,
849                                    "program": "instanceof.ets"
850                                  },
851                                  "end": {
852                                    "line": 22,
853                                    "column": 14,
854                                    "program": "instanceof.ets"
855                                  }
856                                }
857                              }
858                            ],
859                            "loc": {
860                              "start": {
861                                "line": 21,
862                                "column": 37,
863                                "program": "instanceof.ets"
864                              },
865                              "end": {
866                                "line": 23,
867                                "column": 4,
868                                "program": "instanceof.ets"
869                              }
870                            }
871                          },
872                          "alternate": {
873                            "type": "BlockStatement",
874                            "statements": [
875                              {
876                                "type": "ReturnStatement",
877                                "argument": {
878                                  "type": "NumberLiteral",
879                                  "value": 4,
880                                  "loc": {
881                                    "start": {
882                                      "line": 24,
883                                      "column": 12,
884                                      "program": "instanceof.ets"
885                                    },
886                                    "end": {
887                                      "line": 24,
888                                      "column": 13,
889                                      "program": "instanceof.ets"
890                                    }
891                                  }
892                                },
893                                "loc": {
894                                  "start": {
895                                    "line": 24,
896                                    "column": 5,
897                                    "program": "instanceof.ets"
898                                  },
899                                  "end": {
900                                    "line": 24,
901                                    "column": 14,
902                                    "program": "instanceof.ets"
903                                  }
904                                }
905                              }
906                            ],
907                            "loc": {
908                              "start": {
909                                "line": 23,
910                                "column": 10,
911                                "program": "instanceof.ets"
912                              },
913                              "end": {
914                                "line": 25,
915                                "column": 4,
916                                "program": "instanceof.ets"
917                              }
918                            }
919                          },
920                          "loc": {
921                            "start": {
922                              "line": 21,
923                              "column": 10,
924                              "program": "instanceof.ets"
925                            },
926                            "end": {
927                              "line": 25,
928                              "column": 4,
929                              "program": "instanceof.ets"
930                            }
931                          }
932                        },
933                        "loc": {
934                          "start": {
935                            "line": 19,
936                            "column": 10,
937                            "program": "instanceof.ets"
938                          },
939                          "end": {
940                            "line": 25,
941                            "column": 4,
942                            "program": "instanceof.ets"
943                          }
944                        }
945                      },
946                      "loc": {
947                        "start": {
948                          "line": 17,
949                          "column": 3,
950                          "program": "instanceof.ets"
951                        },
952                        "end": {
953                          "line": 25,
954                          "column": 4,
955                          "program": "instanceof.ets"
956                        }
957                      }
958                    }
959                  ],
960                  "loc": {
961                    "start": {
962                      "line": 16,
963                      "column": 28,
964                      "program": "instanceof.ets"
965                    },
966                    "end": {
967                      "line": 26,
968                      "column": 2,
969                      "program": "instanceof.ets"
970                    }
971                  }
972                },
973                "loc": {
974                  "start": {
975                    "line": 16,
976                    "column": 10,
977                    "program": "instanceof.ets"
978                  },
979                  "end": {
980                    "line": 26,
981                    "column": 2,
982                    "program": "instanceof.ets"
983                  }
984                }
985              },
986              "loc": {
987                "start": {
988                  "line": 16,
989                  "column": 10,
990                  "program": "instanceof.ets"
991                },
992                "end": {
993                  "line": 26,
994                  "column": 2,
995                  "program": "instanceof.ets"
996                }
997              }
998            },
999            "overloads": [],
1000            "decorators": [],
1001            "loc": {
1002              "start": {
1003                "line": 16,
1004                "column": 1,
1005                "program": "instanceof.ets"
1006              },
1007              "end": {
1008                "line": 26,
1009                "column": 2,
1010                "program": "instanceof.ets"
1011              }
1012            }
1013          }
1014        ],
1015        "loc": {
1016          "start": {
1017            "line": 1,
1018            "column": 1,
1019            "program": "instanceof.ets"
1020          },
1021          "end": {
1022            "line": 1,
1023            "column": 1,
1024            "program": "instanceof.ets"
1025          }
1026        }
1027      },
1028      "loc": {
1029        "start": {
1030          "line": 1,
1031          "column": 1,
1032          "program": "instanceof.ets"
1033        },
1034        "end": {
1035          "line": 1,
1036          "column": 1,
1037          "program": "instanceof.ets"
1038        }
1039      }
1040    }
1041  ],
1042  "loc": {
1043    "start": {
1044      "line": 1,
1045      "column": 1,
1046      "program": "instanceof.ets"
1047    },
1048    "end": {
1049      "line": 27,
1050      "column": 1,
1051      "program": "instanceof.ets"
1052    }
1053  }
1054}
1055Warning: Type parameter is erased from type 'Array' when used in instanceof expression. [instanceof.ets:1:1]
1056