• 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": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "generic_variance_1.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 8,
20              "program": "generic_variance_1.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "constructor",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 16,
36                  "column": 10,
37                  "program": "generic_variance_1.ets"
38                },
39                "end": {
40                  "line": 16,
41                  "column": 10,
42                  "program": "generic_variance_1.ets"
43                }
44              }
45            },
46            "kind": "constructor",
47            "static": false,
48            "optional": false,
49            "computed": false,
50            "value": {
51              "type": "FunctionExpression",
52              "function": {
53                "type": "ScriptFunction",
54                "id": {
55                  "type": "Identifier",
56                  "name": "constructor",
57                  "decorators": [],
58                  "loc": {
59                    "start": {
60                      "line": 16,
61                      "column": 10,
62                      "program": "generic_variance_1.ets"
63                    },
64                    "end": {
65                      "line": 16,
66                      "column": 10,
67                      "program": "generic_variance_1.ets"
68                    }
69                  }
70                },
71                "generator": false,
72                "async": false,
73                "expression": false,
74                "params": [],
75                "body": {
76                  "type": "BlockStatement",
77                  "statements": [],
78                  "loc": {
79                    "start": {
80                      "line": 16,
81                      "column": 10,
82                      "program": "generic_variance_1.ets"
83                    },
84                    "end": {
85                      "line": 16,
86                      "column": 10,
87                      "program": "generic_variance_1.ets"
88                    }
89                  }
90                },
91                "loc": {
92                  "start": {
93                    "line": 16,
94                    "column": 10,
95                    "program": "generic_variance_1.ets"
96                  },
97                  "end": {
98                    "line": 16,
99                    "column": 10,
100                    "program": "generic_variance_1.ets"
101                  }
102                }
103              },
104              "loc": {
105                "start": {
106                  "line": 16,
107                  "column": 10,
108                  "program": "generic_variance_1.ets"
109                },
110                "end": {
111                  "line": 16,
112                  "column": 10,
113                  "program": "generic_variance_1.ets"
114                }
115              }
116            },
117            "overloads": [],
118            "decorators": [],
119            "loc": {
120              "start": {
121                "line": 1,
122                "column": 1,
123                "program": null
124              },
125              "end": {
126                "line": 1,
127                "column": 1,
128                "program": null
129              }
130            }
131          }
132        ],
133        "loc": {
134          "start": {
135            "line": 16,
136            "column": 9,
137            "program": "generic_variance_1.ets"
138          },
139          "end": {
140            "line": 17,
141            "column": 6,
142            "program": "generic_variance_1.ets"
143          }
144        }
145      },
146      "loc": {
147        "start": {
148          "line": 16,
149          "column": 1,
150          "program": "generic_variance_1.ets"
151        },
152        "end": {
153          "line": 17,
154          "column": 6,
155          "program": "generic_variance_1.ets"
156        }
157      }
158    },
159    {
160      "type": "ClassDeclaration",
161      "definition": {
162        "id": {
163          "type": "Identifier",
164          "name": "B",
165          "decorators": [],
166          "loc": {
167            "start": {
168              "line": 17,
169              "column": 7,
170              "program": "generic_variance_1.ets"
171            },
172            "end": {
173              "line": 17,
174              "column": 8,
175              "program": "generic_variance_1.ets"
176            }
177          }
178        },
179        "superClass": {
180          "type": "ETSTypeReference",
181          "part": {
182            "type": "ETSTypeReferencePart",
183            "name": {
184              "type": "Identifier",
185              "name": "A",
186              "decorators": [],
187              "loc": {
188                "start": {
189                  "line": 17,
190                  "column": 17,
191                  "program": "generic_variance_1.ets"
192                },
193                "end": {
194                  "line": 17,
195                  "column": 18,
196                  "program": "generic_variance_1.ets"
197                }
198              }
199            },
200            "loc": {
201              "start": {
202                "line": 17,
203                "column": 17,
204                "program": "generic_variance_1.ets"
205              },
206              "end": {
207                "line": 17,
208                "column": 20,
209                "program": "generic_variance_1.ets"
210              }
211            }
212          },
213          "loc": {
214            "start": {
215              "line": 17,
216              "column": 17,
217              "program": "generic_variance_1.ets"
218            },
219            "end": {
220              "line": 17,
221              "column": 20,
222              "program": "generic_variance_1.ets"
223            }
224          }
225        },
226        "implements": [],
227        "body": [
228          {
229            "type": "MethodDefinition",
230            "key": {
231              "type": "Identifier",
232              "name": "constructor",
233              "decorators": [],
234              "loc": {
235                "start": {
236                  "line": 17,
237                  "column": 20,
238                  "program": "generic_variance_1.ets"
239                },
240                "end": {
241                  "line": 17,
242                  "column": 20,
243                  "program": "generic_variance_1.ets"
244                }
245              }
246            },
247            "kind": "constructor",
248            "static": false,
249            "optional": false,
250            "computed": false,
251            "value": {
252              "type": "FunctionExpression",
253              "function": {
254                "type": "ScriptFunction",
255                "id": {
256                  "type": "Identifier",
257                  "name": "constructor",
258                  "decorators": [],
259                  "loc": {
260                    "start": {
261                      "line": 17,
262                      "column": 20,
263                      "program": "generic_variance_1.ets"
264                    },
265                    "end": {
266                      "line": 17,
267                      "column": 20,
268                      "program": "generic_variance_1.ets"
269                    }
270                  }
271                },
272                "generator": false,
273                "async": false,
274                "expression": false,
275                "params": [],
276                "body": {
277                  "type": "BlockStatement",
278                  "statements": [],
279                  "loc": {
280                    "start": {
281                      "line": 17,
282                      "column": 20,
283                      "program": "generic_variance_1.ets"
284                    },
285                    "end": {
286                      "line": 17,
287                      "column": 20,
288                      "program": "generic_variance_1.ets"
289                    }
290                  }
291                },
292                "loc": {
293                  "start": {
294                    "line": 17,
295                    "column": 20,
296                    "program": "generic_variance_1.ets"
297                  },
298                  "end": {
299                    "line": 17,
300                    "column": 20,
301                    "program": "generic_variance_1.ets"
302                  }
303                }
304              },
305              "loc": {
306                "start": {
307                  "line": 17,
308                  "column": 20,
309                  "program": "generic_variance_1.ets"
310                },
311                "end": {
312                  "line": 17,
313                  "column": 20,
314                  "program": "generic_variance_1.ets"
315                }
316              }
317            },
318            "overloads": [],
319            "decorators": [],
320            "loc": {
321              "start": {
322                "line": 1,
323                "column": 1,
324                "program": null
325              },
326              "end": {
327                "line": 1,
328                "column": 1,
329                "program": null
330              }
331            }
332          }
333        ],
334        "loc": {
335          "start": {
336            "line": 17,
337            "column": 19,
338            "program": "generic_variance_1.ets"
339          },
340          "end": {
341            "line": 19,
342            "column": 6,
343            "program": "generic_variance_1.ets"
344          }
345        }
346      },
347      "loc": {
348        "start": {
349          "line": 17,
350          "column": 1,
351          "program": "generic_variance_1.ets"
352        },
353        "end": {
354          "line": 19,
355          "column": 6,
356          "program": "generic_variance_1.ets"
357        }
358      }
359    },
360    {
361      "type": "ClassDeclaration",
362      "definition": {
363        "id": {
364          "type": "Identifier",
365          "name": "A1",
366          "decorators": [],
367          "loc": {
368            "start": {
369              "line": 19,
370              "column": 7,
371              "program": "generic_variance_1.ets"
372            },
373            "end": {
374              "line": 19,
375              "column": 9,
376              "program": "generic_variance_1.ets"
377            }
378          }
379        },
380        "typeParameters": {
381          "type": "TSTypeParameterDeclaration",
382          "params": [
383            {
384              "type": "TSTypeParameter",
385              "name": {
386                "type": "Identifier",
387                "name": "T",
388                "decorators": [],
389                "loc": {
390                  "start": {
391                    "line": 19,
392                    "column": 13,
393                    "program": "generic_variance_1.ets"
394                  },
395                  "end": {
396                    "line": 19,
397                    "column": 14,
398                    "program": "generic_variance_1.ets"
399                  }
400                }
401              },
402              "in": true,
403              "loc": {
404                "start": {
405                  "line": 19,
406                  "column": 10,
407                  "program": "generic_variance_1.ets"
408                },
409                "end": {
410                  "line": 19,
411                  "column": 15,
412                  "program": "generic_variance_1.ets"
413                }
414              }
415            }
416          ],
417          "loc": {
418            "start": {
419              "line": 19,
420              "column": 9,
421              "program": "generic_variance_1.ets"
422            },
423            "end": {
424              "line": 19,
425              "column": 15,
426              "program": "generic_variance_1.ets"
427            }
428          }
429        },
430        "superClass": null,
431        "implements": [],
432        "body": [
433          {
434            "type": "MethodDefinition",
435            "key": {
436              "type": "Identifier",
437              "name": "constructor",
438              "decorators": [],
439              "loc": {
440                "start": {
441                  "line": 19,
442                  "column": 17,
443                  "program": "generic_variance_1.ets"
444                },
445                "end": {
446                  "line": 19,
447                  "column": 17,
448                  "program": "generic_variance_1.ets"
449                }
450              }
451            },
452            "kind": "constructor",
453            "static": false,
454            "optional": false,
455            "computed": false,
456            "value": {
457              "type": "FunctionExpression",
458              "function": {
459                "type": "ScriptFunction",
460                "id": {
461                  "type": "Identifier",
462                  "name": "constructor",
463                  "decorators": [],
464                  "loc": {
465                    "start": {
466                      "line": 19,
467                      "column": 17,
468                      "program": "generic_variance_1.ets"
469                    },
470                    "end": {
471                      "line": 19,
472                      "column": 17,
473                      "program": "generic_variance_1.ets"
474                    }
475                  }
476                },
477                "generator": false,
478                "async": false,
479                "expression": false,
480                "params": [],
481                "body": {
482                  "type": "BlockStatement",
483                  "statements": [],
484                  "loc": {
485                    "start": {
486                      "line": 19,
487                      "column": 17,
488                      "program": "generic_variance_1.ets"
489                    },
490                    "end": {
491                      "line": 19,
492                      "column": 17,
493                      "program": "generic_variance_1.ets"
494                    }
495                  }
496                },
497                "loc": {
498                  "start": {
499                    "line": 19,
500                    "column": 17,
501                    "program": "generic_variance_1.ets"
502                  },
503                  "end": {
504                    "line": 19,
505                    "column": 17,
506                    "program": "generic_variance_1.ets"
507                  }
508                }
509              },
510              "loc": {
511                "start": {
512                  "line": 19,
513                  "column": 17,
514                  "program": "generic_variance_1.ets"
515                },
516                "end": {
517                  "line": 19,
518                  "column": 17,
519                  "program": "generic_variance_1.ets"
520                }
521              }
522            },
523            "overloads": [],
524            "decorators": [],
525            "loc": {
526              "start": {
527                "line": 1,
528                "column": 1,
529                "program": null
530              },
531              "end": {
532                "line": 1,
533                "column": 1,
534                "program": null
535              }
536            }
537          }
538        ],
539        "loc": {
540          "start": {
541            "line": 19,
542            "column": 16,
543            "program": "generic_variance_1.ets"
544          },
545          "end": {
546            "line": 20,
547            "column": 6,
548            "program": "generic_variance_1.ets"
549          }
550        }
551      },
552      "loc": {
553        "start": {
554          "line": 19,
555          "column": 1,
556          "program": "generic_variance_1.ets"
557        },
558        "end": {
559          "line": 20,
560          "column": 6,
561          "program": "generic_variance_1.ets"
562        }
563      }
564    },
565    {
566      "type": "ClassDeclaration",
567      "definition": {
568        "id": {
569          "type": "Identifier",
570          "name": "A2",
571          "decorators": [],
572          "loc": {
573            "start": {
574              "line": 20,
575              "column": 7,
576              "program": "generic_variance_1.ets"
577            },
578            "end": {
579              "line": 20,
580              "column": 9,
581              "program": "generic_variance_1.ets"
582            }
583          }
584        },
585        "typeParameters": {
586          "type": "TSTypeParameterDeclaration",
587          "params": [
588            {
589              "type": "TSTypeParameter",
590              "name": {
591                "type": "Identifier",
592                "name": "T",
593                "decorators": [],
594                "loc": {
595                  "start": {
596                    "line": 20,
597                    "column": 14,
598                    "program": "generic_variance_1.ets"
599                  },
600                  "end": {
601                    "line": 20,
602                    "column": 15,
603                    "program": "generic_variance_1.ets"
604                  }
605                }
606              },
607              "out": true,
608              "loc": {
609                "start": {
610                  "line": 20,
611                  "column": 10,
612                  "program": "generic_variance_1.ets"
613                },
614                "end": {
615                  "line": 20,
616                  "column": 16,
617                  "program": "generic_variance_1.ets"
618                }
619              }
620            }
621          ],
622          "loc": {
623            "start": {
624              "line": 20,
625              "column": 9,
626              "program": "generic_variance_1.ets"
627            },
628            "end": {
629              "line": 20,
630              "column": 16,
631              "program": "generic_variance_1.ets"
632            }
633          }
634        },
635        "superClass": null,
636        "implements": [],
637        "body": [
638          {
639            "type": "MethodDefinition",
640            "key": {
641              "type": "Identifier",
642              "name": "constructor",
643              "decorators": [],
644              "loc": {
645                "start": {
646                  "line": 20,
647                  "column": 18,
648                  "program": "generic_variance_1.ets"
649                },
650                "end": {
651                  "line": 20,
652                  "column": 18,
653                  "program": "generic_variance_1.ets"
654                }
655              }
656            },
657            "kind": "constructor",
658            "static": false,
659            "optional": false,
660            "computed": false,
661            "value": {
662              "type": "FunctionExpression",
663              "function": {
664                "type": "ScriptFunction",
665                "id": {
666                  "type": "Identifier",
667                  "name": "constructor",
668                  "decorators": [],
669                  "loc": {
670                    "start": {
671                      "line": 20,
672                      "column": 18,
673                      "program": "generic_variance_1.ets"
674                    },
675                    "end": {
676                      "line": 20,
677                      "column": 18,
678                      "program": "generic_variance_1.ets"
679                    }
680                  }
681                },
682                "generator": false,
683                "async": false,
684                "expression": false,
685                "params": [],
686                "body": {
687                  "type": "BlockStatement",
688                  "statements": [],
689                  "loc": {
690                    "start": {
691                      "line": 20,
692                      "column": 18,
693                      "program": "generic_variance_1.ets"
694                    },
695                    "end": {
696                      "line": 20,
697                      "column": 18,
698                      "program": "generic_variance_1.ets"
699                    }
700                  }
701                },
702                "loc": {
703                  "start": {
704                    "line": 20,
705                    "column": 18,
706                    "program": "generic_variance_1.ets"
707                  },
708                  "end": {
709                    "line": 20,
710                    "column": 18,
711                    "program": "generic_variance_1.ets"
712                  }
713                }
714              },
715              "loc": {
716                "start": {
717                  "line": 20,
718                  "column": 18,
719                  "program": "generic_variance_1.ets"
720                },
721                "end": {
722                  "line": 20,
723                  "column": 18,
724                  "program": "generic_variance_1.ets"
725                }
726              }
727            },
728            "overloads": [],
729            "decorators": [],
730            "loc": {
731              "start": {
732                "line": 1,
733                "column": 1,
734                "program": null
735              },
736              "end": {
737                "line": 1,
738                "column": 1,
739                "program": null
740              }
741            }
742          }
743        ],
744        "loc": {
745          "start": {
746            "line": 20,
747            "column": 17,
748            "program": "generic_variance_1.ets"
749          },
750          "end": {
751            "line": 22,
752            "column": 9,
753            "program": "generic_variance_1.ets"
754          }
755        }
756      },
757      "loc": {
758        "start": {
759          "line": 20,
760          "column": 1,
761          "program": "generic_variance_1.ets"
762        },
763        "end": {
764          "line": 22,
765          "column": 9,
766          "program": "generic_variance_1.ets"
767        }
768      }
769    },
770    {
771      "type": "ClassDeclaration",
772      "definition": {
773        "id": {
774          "type": "Identifier",
775          "name": "ETSGLOBAL",
776          "decorators": [],
777          "loc": {
778            "start": {
779              "line": 1,
780              "column": 1,
781              "program": "generic_variance_1.ets"
782            },
783            "end": {
784              "line": 1,
785              "column": 1,
786              "program": "generic_variance_1.ets"
787            }
788          }
789        },
790        "superClass": null,
791        "implements": [],
792        "body": [
793          {
794            "type": "MethodDefinition",
795            "key": {
796              "type": "Identifier",
797              "name": "_$init$_",
798              "decorators": [],
799              "loc": {
800                "start": {
801                  "line": 1,
802                  "column": 1,
803                  "program": null
804                },
805                "end": {
806                  "line": 1,
807                  "column": 1,
808                  "program": null
809                }
810              }
811            },
812            "kind": "method",
813            "accessibility": "public",
814            "static": true,
815            "optional": false,
816            "computed": false,
817            "value": {
818              "type": "FunctionExpression",
819              "function": {
820                "type": "ScriptFunction",
821                "id": {
822                  "type": "Identifier",
823                  "name": "_$init$_",
824                  "decorators": [],
825                  "loc": {
826                    "start": {
827                      "line": 1,
828                      "column": 1,
829                      "program": null
830                    },
831                    "end": {
832                      "line": 1,
833                      "column": 1,
834                      "program": null
835                    }
836                  }
837                },
838                "generator": false,
839                "async": false,
840                "expression": false,
841                "params": [],
842                "body": {
843                  "type": "BlockStatement",
844                  "statements": [],
845                  "loc": {
846                    "start": {
847                      "line": 1,
848                      "column": 1,
849                      "program": null
850                    },
851                    "end": {
852                      "line": 1,
853                      "column": 1,
854                      "program": null
855                    }
856                  }
857                },
858                "loc": {
859                  "start": {
860                    "line": 1,
861                    "column": 1,
862                    "program": null
863                  },
864                  "end": {
865                    "line": 1,
866                    "column": 1,
867                    "program": null
868                  }
869                }
870              },
871              "loc": {
872                "start": {
873                  "line": 1,
874                  "column": 1,
875                  "program": null
876                },
877                "end": {
878                  "line": 1,
879                  "column": 1,
880                  "program": null
881                }
882              }
883            },
884            "overloads": [],
885            "decorators": [],
886            "loc": {
887              "start": {
888                "line": 1,
889                "column": 1,
890                "program": "generic_variance_1.ets"
891              },
892              "end": {
893                "line": 1,
894                "column": 1,
895                "program": "generic_variance_1.ets"
896              }
897            }
898          },
899          {
900            "type": "MethodDefinition",
901            "key": {
902              "type": "Identifier",
903              "name": "main",
904              "decorators": [],
905              "loc": {
906                "start": {
907                  "line": 22,
908                  "column": 10,
909                  "program": "generic_variance_1.ets"
910                },
911                "end": {
912                  "line": 22,
913                  "column": 14,
914                  "program": "generic_variance_1.ets"
915                }
916              }
917            },
918            "kind": "method",
919            "accessibility": "public",
920            "static": true,
921            "optional": false,
922            "computed": false,
923            "value": {
924              "type": "FunctionExpression",
925              "function": {
926                "type": "ScriptFunction",
927                "id": {
928                  "type": "Identifier",
929                  "name": "main",
930                  "decorators": [],
931                  "loc": {
932                    "start": {
933                      "line": 22,
934                      "column": 10,
935                      "program": "generic_variance_1.ets"
936                    },
937                    "end": {
938                      "line": 22,
939                      "column": 14,
940                      "program": "generic_variance_1.ets"
941                    }
942                  }
943                },
944                "generator": false,
945                "async": false,
946                "expression": false,
947                "params": [],
948                "returnType": {
949                  "type": "ETSPrimitiveType",
950                  "loc": {
951                    "start": {
952                      "line": 22,
953                      "column": 18,
954                      "program": "generic_variance_1.ets"
955                    },
956                    "end": {
957                      "line": 22,
958                      "column": 22,
959                      "program": "generic_variance_1.ets"
960                    }
961                  }
962                },
963                "body": {
964                  "type": "BlockStatement",
965                  "statements": [
966                    {
967                      "type": "VariableDeclaration",
968                      "declarations": [
969                        {
970                          "type": "VariableDeclarator",
971                          "id": {
972                            "type": "Identifier",
973                            "name": "x1",
974                            "typeAnnotation": {
975                              "type": "ETSTypeReference",
976                              "part": {
977                                "type": "ETSTypeReferencePart",
978                                "name": {
979                                  "type": "Identifier",
980                                  "name": "A1",
981                                  "decorators": [],
982                                  "loc": {
983                                    "start": {
984                                      "line": 23,
985                                      "column": 13,
986                                      "program": "generic_variance_1.ets"
987                                    },
988                                    "end": {
989                                      "line": 23,
990                                      "column": 15,
991                                      "program": "generic_variance_1.ets"
992                                    }
993                                  }
994                                },
995                                "typeParams": {
996                                  "type": "TSTypeParameterInstantiation",
997                                  "params": [
998                                    {
999                                      "type": "ETSTypeReference",
1000                                      "part": {
1001                                        "type": "ETSTypeReferencePart",
1002                                        "name": {
1003                                          "type": "Identifier",
1004                                          "name": "A",
1005                                          "decorators": [],
1006                                          "loc": {
1007                                            "start": {
1008                                              "line": 23,
1009                                              "column": 16,
1010                                              "program": "generic_variance_1.ets"
1011                                            },
1012                                            "end": {
1013                                              "line": 23,
1014                                              "column": 17,
1015                                              "program": "generic_variance_1.ets"
1016                                            }
1017                                          }
1018                                        },
1019                                        "loc": {
1020                                          "start": {
1021                                            "line": 23,
1022                                            "column": 16,
1023                                            "program": "generic_variance_1.ets"
1024                                          },
1025                                          "end": {
1026                                            "line": 23,
1027                                            "column": 18,
1028                                            "program": "generic_variance_1.ets"
1029                                          }
1030                                        }
1031                                      },
1032                                      "loc": {
1033                                        "start": {
1034                                          "line": 23,
1035                                          "column": 16,
1036                                          "program": "generic_variance_1.ets"
1037                                        },
1038                                        "end": {
1039                                          "line": 23,
1040                                          "column": 18,
1041                                          "program": "generic_variance_1.ets"
1042                                        }
1043                                      }
1044                                    }
1045                                  ],
1046                                  "loc": {
1047                                    "start": {
1048                                      "line": 23,
1049                                      "column": 15,
1050                                      "program": "generic_variance_1.ets"
1051                                    },
1052                                    "end": {
1053                                      "line": 23,
1054                                      "column": 18,
1055                                      "program": "generic_variance_1.ets"
1056                                    }
1057                                  }
1058                                },
1059                                "loc": {
1060                                  "start": {
1061                                    "line": 23,
1062                                    "column": 13,
1063                                    "program": "generic_variance_1.ets"
1064                                  },
1065                                  "end": {
1066                                    "line": 23,
1067                                    "column": 20,
1068                                    "program": "generic_variance_1.ets"
1069                                  }
1070                                }
1071                              },
1072                              "loc": {
1073                                "start": {
1074                                  "line": 23,
1075                                  "column": 13,
1076                                  "program": "generic_variance_1.ets"
1077                                },
1078                                "end": {
1079                                  "line": 23,
1080                                  "column": 20,
1081                                  "program": "generic_variance_1.ets"
1082                                }
1083                              }
1084                            },
1085                            "decorators": [],
1086                            "loc": {
1087                              "start": {
1088                                "line": 23,
1089                                "column": 9,
1090                                "program": "generic_variance_1.ets"
1091                              },
1092                              "end": {
1093                                "line": 23,
1094                                "column": 11,
1095                                "program": "generic_variance_1.ets"
1096                              }
1097                            }
1098                          },
1099                          "init": {
1100                            "type": "ETSNewClassInstanceExpression",
1101                            "typeReference": {
1102                              "type": "ETSTypeReference",
1103                              "part": {
1104                                "type": "ETSTypeReferencePart",
1105                                "name": {
1106                                  "type": "Identifier",
1107                                  "name": "A1",
1108                                  "decorators": [],
1109                                  "loc": {
1110                                    "start": {
1111                                      "line": 23,
1112                                      "column": 25,
1113                                      "program": "generic_variance_1.ets"
1114                                    },
1115                                    "end": {
1116                                      "line": 23,
1117                                      "column": 27,
1118                                      "program": "generic_variance_1.ets"
1119                                    }
1120                                  }
1121                                },
1122                                "typeParams": {
1123                                  "type": "TSTypeParameterInstantiation",
1124                                  "params": [
1125                                    {
1126                                      "type": "ETSTypeReference",
1127                                      "part": {
1128                                        "type": "ETSTypeReferencePart",
1129                                        "name": {
1130                                          "type": "Identifier",
1131                                          "name": "A",
1132                                          "decorators": [],
1133                                          "loc": {
1134                                            "start": {
1135                                              "line": 23,
1136                                              "column": 28,
1137                                              "program": "generic_variance_1.ets"
1138                                            },
1139                                            "end": {
1140                                              "line": 23,
1141                                              "column": 29,
1142                                              "program": "generic_variance_1.ets"
1143                                            }
1144                                          }
1145                                        },
1146                                        "loc": {
1147                                          "start": {
1148                                            "line": 23,
1149                                            "column": 28,
1150                                            "program": "generic_variance_1.ets"
1151                                          },
1152                                          "end": {
1153                                            "line": 23,
1154                                            "column": 30,
1155                                            "program": "generic_variance_1.ets"
1156                                          }
1157                                        }
1158                                      },
1159                                      "loc": {
1160                                        "start": {
1161                                          "line": 23,
1162                                          "column": 28,
1163                                          "program": "generic_variance_1.ets"
1164                                        },
1165                                        "end": {
1166                                          "line": 23,
1167                                          "column": 30,
1168                                          "program": "generic_variance_1.ets"
1169                                        }
1170                                      }
1171                                    }
1172                                  ],
1173                                  "loc": {
1174                                    "start": {
1175                                      "line": 23,
1176                                      "column": 27,
1177                                      "program": "generic_variance_1.ets"
1178                                    },
1179                                    "end": {
1180                                      "line": 23,
1181                                      "column": 30,
1182                                      "program": "generic_variance_1.ets"
1183                                    }
1184                                  }
1185                                },
1186                                "loc": {
1187                                  "start": {
1188                                    "line": 23,
1189                                    "column": 25,
1190                                    "program": "generic_variance_1.ets"
1191                                  },
1192                                  "end": {
1193                                    "line": 23,
1194                                    "column": 31,
1195                                    "program": "generic_variance_1.ets"
1196                                  }
1197                                }
1198                              },
1199                              "loc": {
1200                                "start": {
1201                                  "line": 23,
1202                                  "column": 25,
1203                                  "program": "generic_variance_1.ets"
1204                                },
1205                                "end": {
1206                                  "line": 23,
1207                                  "column": 31,
1208                                  "program": "generic_variance_1.ets"
1209                                }
1210                              }
1211                            },
1212                            "arguments": [],
1213                            "loc": {
1214                              "start": {
1215                                "line": 23,
1216                                "column": 21,
1217                                "program": "generic_variance_1.ets"
1218                              },
1219                              "end": {
1220                                "line": 24,
1221                                "column": 8,
1222                                "program": "generic_variance_1.ets"
1223                              }
1224                            }
1225                          },
1226                          "loc": {
1227                            "start": {
1228                              "line": 23,
1229                              "column": 9,
1230                              "program": "generic_variance_1.ets"
1231                            },
1232                            "end": {
1233                              "line": 24,
1234                              "column": 8,
1235                              "program": "generic_variance_1.ets"
1236                            }
1237                          }
1238                        }
1239                      ],
1240                      "kind": "let",
1241                      "loc": {
1242                        "start": {
1243                          "line": 23,
1244                          "column": 5,
1245                          "program": "generic_variance_1.ets"
1246                        },
1247                        "end": {
1248                          "line": 24,
1249                          "column": 8,
1250                          "program": "generic_variance_1.ets"
1251                        }
1252                      }
1253                    },
1254                    {
1255                      "type": "VariableDeclaration",
1256                      "declarations": [
1257                        {
1258                          "type": "VariableDeclarator",
1259                          "id": {
1260                            "type": "Identifier",
1261                            "name": "x2",
1262                            "typeAnnotation": {
1263                              "type": "ETSTypeReference",
1264                              "part": {
1265                                "type": "ETSTypeReferencePart",
1266                                "name": {
1267                                  "type": "Identifier",
1268                                  "name": "A1",
1269                                  "decorators": [],
1270                                  "loc": {
1271                                    "start": {
1272                                      "line": 24,
1273                                      "column": 13,
1274                                      "program": "generic_variance_1.ets"
1275                                    },
1276                                    "end": {
1277                                      "line": 24,
1278                                      "column": 15,
1279                                      "program": "generic_variance_1.ets"
1280                                    }
1281                                  }
1282                                },
1283                                "typeParams": {
1284                                  "type": "TSTypeParameterInstantiation",
1285                                  "params": [
1286                                    {
1287                                      "type": "ETSTypeReference",
1288                                      "part": {
1289                                        "type": "ETSTypeReferencePart",
1290                                        "name": {
1291                                          "type": "Identifier",
1292                                          "name": "B",
1293                                          "decorators": [],
1294                                          "loc": {
1295                                            "start": {
1296                                              "line": 24,
1297                                              "column": 16,
1298                                              "program": "generic_variance_1.ets"
1299                                            },
1300                                            "end": {
1301                                              "line": 24,
1302                                              "column": 17,
1303                                              "program": "generic_variance_1.ets"
1304                                            }
1305                                          }
1306                                        },
1307                                        "loc": {
1308                                          "start": {
1309                                            "line": 24,
1310                                            "column": 16,
1311                                            "program": "generic_variance_1.ets"
1312                                          },
1313                                          "end": {
1314                                            "line": 24,
1315                                            "column": 18,
1316                                            "program": "generic_variance_1.ets"
1317                                          }
1318                                        }
1319                                      },
1320                                      "loc": {
1321                                        "start": {
1322                                          "line": 24,
1323                                          "column": 16,
1324                                          "program": "generic_variance_1.ets"
1325                                        },
1326                                        "end": {
1327                                          "line": 24,
1328                                          "column": 18,
1329                                          "program": "generic_variance_1.ets"
1330                                        }
1331                                      }
1332                                    }
1333                                  ],
1334                                  "loc": {
1335                                    "start": {
1336                                      "line": 24,
1337                                      "column": 15,
1338                                      "program": "generic_variance_1.ets"
1339                                    },
1340                                    "end": {
1341                                      "line": 24,
1342                                      "column": 18,
1343                                      "program": "generic_variance_1.ets"
1344                                    }
1345                                  }
1346                                },
1347                                "loc": {
1348                                  "start": {
1349                                    "line": 24,
1350                                    "column": 13,
1351                                    "program": "generic_variance_1.ets"
1352                                  },
1353                                  "end": {
1354                                    "line": 24,
1355                                    "column": 20,
1356                                    "program": "generic_variance_1.ets"
1357                                  }
1358                                }
1359                              },
1360                              "loc": {
1361                                "start": {
1362                                  "line": 24,
1363                                  "column": 13,
1364                                  "program": "generic_variance_1.ets"
1365                                },
1366                                "end": {
1367                                  "line": 24,
1368                                  "column": 20,
1369                                  "program": "generic_variance_1.ets"
1370                                }
1371                              }
1372                            },
1373                            "decorators": [],
1374                            "loc": {
1375                              "start": {
1376                                "line": 24,
1377                                "column": 9,
1378                                "program": "generic_variance_1.ets"
1379                              },
1380                              "end": {
1381                                "line": 24,
1382                                "column": 11,
1383                                "program": "generic_variance_1.ets"
1384                              }
1385                            }
1386                          },
1387                          "init": {
1388                            "type": "ETSNewClassInstanceExpression",
1389                            "typeReference": {
1390                              "type": "ETSTypeReference",
1391                              "part": {
1392                                "type": "ETSTypeReferencePart",
1393                                "name": {
1394                                  "type": "Identifier",
1395                                  "name": "A1",
1396                                  "decorators": [],
1397                                  "loc": {
1398                                    "start": {
1399                                      "line": 24,
1400                                      "column": 25,
1401                                      "program": "generic_variance_1.ets"
1402                                    },
1403                                    "end": {
1404                                      "line": 24,
1405                                      "column": 27,
1406                                      "program": "generic_variance_1.ets"
1407                                    }
1408                                  }
1409                                },
1410                                "typeParams": {
1411                                  "type": "TSTypeParameterInstantiation",
1412                                  "params": [
1413                                    {
1414                                      "type": "ETSTypeReference",
1415                                      "part": {
1416                                        "type": "ETSTypeReferencePart",
1417                                        "name": {
1418                                          "type": "Identifier",
1419                                          "name": "A",
1420                                          "decorators": [],
1421                                          "loc": {
1422                                            "start": {
1423                                              "line": 24,
1424                                              "column": 28,
1425                                              "program": "generic_variance_1.ets"
1426                                            },
1427                                            "end": {
1428                                              "line": 24,
1429                                              "column": 29,
1430                                              "program": "generic_variance_1.ets"
1431                                            }
1432                                          }
1433                                        },
1434                                        "loc": {
1435                                          "start": {
1436                                            "line": 24,
1437                                            "column": 28,
1438                                            "program": "generic_variance_1.ets"
1439                                          },
1440                                          "end": {
1441                                            "line": 24,
1442                                            "column": 30,
1443                                            "program": "generic_variance_1.ets"
1444                                          }
1445                                        }
1446                                      },
1447                                      "loc": {
1448                                        "start": {
1449                                          "line": 24,
1450                                          "column": 28,
1451                                          "program": "generic_variance_1.ets"
1452                                        },
1453                                        "end": {
1454                                          "line": 24,
1455                                          "column": 30,
1456                                          "program": "generic_variance_1.ets"
1457                                        }
1458                                      }
1459                                    }
1460                                  ],
1461                                  "loc": {
1462                                    "start": {
1463                                      "line": 24,
1464                                      "column": 27,
1465                                      "program": "generic_variance_1.ets"
1466                                    },
1467                                    "end": {
1468                                      "line": 24,
1469                                      "column": 30,
1470                                      "program": "generic_variance_1.ets"
1471                                    }
1472                                  }
1473                                },
1474                                "loc": {
1475                                  "start": {
1476                                    "line": 24,
1477                                    "column": 25,
1478                                    "program": "generic_variance_1.ets"
1479                                  },
1480                                  "end": {
1481                                    "line": 24,
1482                                    "column": 31,
1483                                    "program": "generic_variance_1.ets"
1484                                  }
1485                                }
1486                              },
1487                              "loc": {
1488                                "start": {
1489                                  "line": 24,
1490                                  "column": 25,
1491                                  "program": "generic_variance_1.ets"
1492                                },
1493                                "end": {
1494                                  "line": 24,
1495                                  "column": 31,
1496                                  "program": "generic_variance_1.ets"
1497                                }
1498                              }
1499                            },
1500                            "arguments": [],
1501                            "loc": {
1502                              "start": {
1503                                "line": 24,
1504                                "column": 21,
1505                                "program": "generic_variance_1.ets"
1506                              },
1507                              "end": {
1508                                "line": 26,
1509                                "column": 8,
1510                                "program": "generic_variance_1.ets"
1511                              }
1512                            }
1513                          },
1514                          "loc": {
1515                            "start": {
1516                              "line": 24,
1517                              "column": 9,
1518                              "program": "generic_variance_1.ets"
1519                            },
1520                            "end": {
1521                              "line": 26,
1522                              "column": 8,
1523                              "program": "generic_variance_1.ets"
1524                            }
1525                          }
1526                        }
1527                      ],
1528                      "kind": "let",
1529                      "loc": {
1530                        "start": {
1531                          "line": 24,
1532                          "column": 5,
1533                          "program": "generic_variance_1.ets"
1534                        },
1535                        "end": {
1536                          "line": 26,
1537                          "column": 8,
1538                          "program": "generic_variance_1.ets"
1539                        }
1540                      }
1541                    },
1542                    {
1543                      "type": "VariableDeclaration",
1544                      "declarations": [
1545                        {
1546                          "type": "VariableDeclarator",
1547                          "id": {
1548                            "type": "Identifier",
1549                            "name": "x3",
1550                            "typeAnnotation": {
1551                              "type": "ETSTypeReference",
1552                              "part": {
1553                                "type": "ETSTypeReferencePart",
1554                                "name": {
1555                                  "type": "Identifier",
1556                                  "name": "A2",
1557                                  "decorators": [],
1558                                  "loc": {
1559                                    "start": {
1560                                      "line": 26,
1561                                      "column": 13,
1562                                      "program": "generic_variance_1.ets"
1563                                    },
1564                                    "end": {
1565                                      "line": 26,
1566                                      "column": 15,
1567                                      "program": "generic_variance_1.ets"
1568                                    }
1569                                  }
1570                                },
1571                                "typeParams": {
1572                                  "type": "TSTypeParameterInstantiation",
1573                                  "params": [
1574                                    {
1575                                      "type": "ETSTypeReference",
1576                                      "part": {
1577                                        "type": "ETSTypeReferencePart",
1578                                        "name": {
1579                                          "type": "Identifier",
1580                                          "name": "A",
1581                                          "decorators": [],
1582                                          "loc": {
1583                                            "start": {
1584                                              "line": 26,
1585                                              "column": 16,
1586                                              "program": "generic_variance_1.ets"
1587                                            },
1588                                            "end": {
1589                                              "line": 26,
1590                                              "column": 17,
1591                                              "program": "generic_variance_1.ets"
1592                                            }
1593                                          }
1594                                        },
1595                                        "loc": {
1596                                          "start": {
1597                                            "line": 26,
1598                                            "column": 16,
1599                                            "program": "generic_variance_1.ets"
1600                                          },
1601                                          "end": {
1602                                            "line": 26,
1603                                            "column": 18,
1604                                            "program": "generic_variance_1.ets"
1605                                          }
1606                                        }
1607                                      },
1608                                      "loc": {
1609                                        "start": {
1610                                          "line": 26,
1611                                          "column": 16,
1612                                          "program": "generic_variance_1.ets"
1613                                        },
1614                                        "end": {
1615                                          "line": 26,
1616                                          "column": 18,
1617                                          "program": "generic_variance_1.ets"
1618                                        }
1619                                      }
1620                                    }
1621                                  ],
1622                                  "loc": {
1623                                    "start": {
1624                                      "line": 26,
1625                                      "column": 15,
1626                                      "program": "generic_variance_1.ets"
1627                                    },
1628                                    "end": {
1629                                      "line": 26,
1630                                      "column": 18,
1631                                      "program": "generic_variance_1.ets"
1632                                    }
1633                                  }
1634                                },
1635                                "loc": {
1636                                  "start": {
1637                                    "line": 26,
1638                                    "column": 13,
1639                                    "program": "generic_variance_1.ets"
1640                                  },
1641                                  "end": {
1642                                    "line": 26,
1643                                    "column": 20,
1644                                    "program": "generic_variance_1.ets"
1645                                  }
1646                                }
1647                              },
1648                              "loc": {
1649                                "start": {
1650                                  "line": 26,
1651                                  "column": 13,
1652                                  "program": "generic_variance_1.ets"
1653                                },
1654                                "end": {
1655                                  "line": 26,
1656                                  "column": 20,
1657                                  "program": "generic_variance_1.ets"
1658                                }
1659                              }
1660                            },
1661                            "decorators": [],
1662                            "loc": {
1663                              "start": {
1664                                "line": 26,
1665                                "column": 9,
1666                                "program": "generic_variance_1.ets"
1667                              },
1668                              "end": {
1669                                "line": 26,
1670                                "column": 11,
1671                                "program": "generic_variance_1.ets"
1672                              }
1673                            }
1674                          },
1675                          "init": {
1676                            "type": "ETSNewClassInstanceExpression",
1677                            "typeReference": {
1678                              "type": "ETSTypeReference",
1679                              "part": {
1680                                "type": "ETSTypeReferencePart",
1681                                "name": {
1682                                  "type": "Identifier",
1683                                  "name": "A2",
1684                                  "decorators": [],
1685                                  "loc": {
1686                                    "start": {
1687                                      "line": 26,
1688                                      "column": 25,
1689                                      "program": "generic_variance_1.ets"
1690                                    },
1691                                    "end": {
1692                                      "line": 26,
1693                                      "column": 27,
1694                                      "program": "generic_variance_1.ets"
1695                                    }
1696                                  }
1697                                },
1698                                "typeParams": {
1699                                  "type": "TSTypeParameterInstantiation",
1700                                  "params": [
1701                                    {
1702                                      "type": "ETSTypeReference",
1703                                      "part": {
1704                                        "type": "ETSTypeReferencePart",
1705                                        "name": {
1706                                          "type": "Identifier",
1707                                          "name": "A",
1708                                          "decorators": [],
1709                                          "loc": {
1710                                            "start": {
1711                                              "line": 26,
1712                                              "column": 28,
1713                                              "program": "generic_variance_1.ets"
1714                                            },
1715                                            "end": {
1716                                              "line": 26,
1717                                              "column": 29,
1718                                              "program": "generic_variance_1.ets"
1719                                            }
1720                                          }
1721                                        },
1722                                        "loc": {
1723                                          "start": {
1724                                            "line": 26,
1725                                            "column": 28,
1726                                            "program": "generic_variance_1.ets"
1727                                          },
1728                                          "end": {
1729                                            "line": 26,
1730                                            "column": 30,
1731                                            "program": "generic_variance_1.ets"
1732                                          }
1733                                        }
1734                                      },
1735                                      "loc": {
1736                                        "start": {
1737                                          "line": 26,
1738                                          "column": 28,
1739                                          "program": "generic_variance_1.ets"
1740                                        },
1741                                        "end": {
1742                                          "line": 26,
1743                                          "column": 30,
1744                                          "program": "generic_variance_1.ets"
1745                                        }
1746                                      }
1747                                    }
1748                                  ],
1749                                  "loc": {
1750                                    "start": {
1751                                      "line": 26,
1752                                      "column": 27,
1753                                      "program": "generic_variance_1.ets"
1754                                    },
1755                                    "end": {
1756                                      "line": 26,
1757                                      "column": 30,
1758                                      "program": "generic_variance_1.ets"
1759                                    }
1760                                  }
1761                                },
1762                                "loc": {
1763                                  "start": {
1764                                    "line": 26,
1765                                    "column": 25,
1766                                    "program": "generic_variance_1.ets"
1767                                  },
1768                                  "end": {
1769                                    "line": 26,
1770                                    "column": 31,
1771                                    "program": "generic_variance_1.ets"
1772                                  }
1773                                }
1774                              },
1775                              "loc": {
1776                                "start": {
1777                                  "line": 26,
1778                                  "column": 25,
1779                                  "program": "generic_variance_1.ets"
1780                                },
1781                                "end": {
1782                                  "line": 26,
1783                                  "column": 31,
1784                                  "program": "generic_variance_1.ets"
1785                                }
1786                              }
1787                            },
1788                            "arguments": [],
1789                            "loc": {
1790                              "start": {
1791                                "line": 26,
1792                                "column": 21,
1793                                "program": "generic_variance_1.ets"
1794                              },
1795                              "end": {
1796                                "line": 27,
1797                                "column": 8,
1798                                "program": "generic_variance_1.ets"
1799                              }
1800                            }
1801                          },
1802                          "loc": {
1803                            "start": {
1804                              "line": 26,
1805                              "column": 9,
1806                              "program": "generic_variance_1.ets"
1807                            },
1808                            "end": {
1809                              "line": 27,
1810                              "column": 8,
1811                              "program": "generic_variance_1.ets"
1812                            }
1813                          }
1814                        }
1815                      ],
1816                      "kind": "let",
1817                      "loc": {
1818                        "start": {
1819                          "line": 26,
1820                          "column": 5,
1821                          "program": "generic_variance_1.ets"
1822                        },
1823                        "end": {
1824                          "line": 27,
1825                          "column": 8,
1826                          "program": "generic_variance_1.ets"
1827                        }
1828                      }
1829                    },
1830                    {
1831                      "type": "VariableDeclaration",
1832                      "declarations": [
1833                        {
1834                          "type": "VariableDeclarator",
1835                          "id": {
1836                            "type": "Identifier",
1837                            "name": "x4",
1838                            "typeAnnotation": {
1839                              "type": "ETSTypeReference",
1840                              "part": {
1841                                "type": "ETSTypeReferencePart",
1842                                "name": {
1843                                  "type": "Identifier",
1844                                  "name": "A2",
1845                                  "decorators": [],
1846                                  "loc": {
1847                                    "start": {
1848                                      "line": 27,
1849                                      "column": 13,
1850                                      "program": "generic_variance_1.ets"
1851                                    },
1852                                    "end": {
1853                                      "line": 27,
1854                                      "column": 15,
1855                                      "program": "generic_variance_1.ets"
1856                                    }
1857                                  }
1858                                },
1859                                "typeParams": {
1860                                  "type": "TSTypeParameterInstantiation",
1861                                  "params": [
1862                                    {
1863                                      "type": "ETSTypeReference",
1864                                      "part": {
1865                                        "type": "ETSTypeReferencePart",
1866                                        "name": {
1867                                          "type": "Identifier",
1868                                          "name": "A",
1869                                          "decorators": [],
1870                                          "loc": {
1871                                            "start": {
1872                                              "line": 27,
1873                                              "column": 16,
1874                                              "program": "generic_variance_1.ets"
1875                                            },
1876                                            "end": {
1877                                              "line": 27,
1878                                              "column": 17,
1879                                              "program": "generic_variance_1.ets"
1880                                            }
1881                                          }
1882                                        },
1883                                        "loc": {
1884                                          "start": {
1885                                            "line": 27,
1886                                            "column": 16,
1887                                            "program": "generic_variance_1.ets"
1888                                          },
1889                                          "end": {
1890                                            "line": 27,
1891                                            "column": 18,
1892                                            "program": "generic_variance_1.ets"
1893                                          }
1894                                        }
1895                                      },
1896                                      "loc": {
1897                                        "start": {
1898                                          "line": 27,
1899                                          "column": 16,
1900                                          "program": "generic_variance_1.ets"
1901                                        },
1902                                        "end": {
1903                                          "line": 27,
1904                                          "column": 18,
1905                                          "program": "generic_variance_1.ets"
1906                                        }
1907                                      }
1908                                    }
1909                                  ],
1910                                  "loc": {
1911                                    "start": {
1912                                      "line": 27,
1913                                      "column": 15,
1914                                      "program": "generic_variance_1.ets"
1915                                    },
1916                                    "end": {
1917                                      "line": 27,
1918                                      "column": 18,
1919                                      "program": "generic_variance_1.ets"
1920                                    }
1921                                  }
1922                                },
1923                                "loc": {
1924                                  "start": {
1925                                    "line": 27,
1926                                    "column": 13,
1927                                    "program": "generic_variance_1.ets"
1928                                  },
1929                                  "end": {
1930                                    "line": 27,
1931                                    "column": 20,
1932                                    "program": "generic_variance_1.ets"
1933                                  }
1934                                }
1935                              },
1936                              "loc": {
1937                                "start": {
1938                                  "line": 27,
1939                                  "column": 13,
1940                                  "program": "generic_variance_1.ets"
1941                                },
1942                                "end": {
1943                                  "line": 27,
1944                                  "column": 20,
1945                                  "program": "generic_variance_1.ets"
1946                                }
1947                              }
1948                            },
1949                            "decorators": [],
1950                            "loc": {
1951                              "start": {
1952                                "line": 27,
1953                                "column": 9,
1954                                "program": "generic_variance_1.ets"
1955                              },
1956                              "end": {
1957                                "line": 27,
1958                                "column": 11,
1959                                "program": "generic_variance_1.ets"
1960                              }
1961                            }
1962                          },
1963                          "init": {
1964                            "type": "ETSNewClassInstanceExpression",
1965                            "typeReference": {
1966                              "type": "ETSTypeReference",
1967                              "part": {
1968                                "type": "ETSTypeReferencePart",
1969                                "name": {
1970                                  "type": "Identifier",
1971                                  "name": "A2",
1972                                  "decorators": [],
1973                                  "loc": {
1974                                    "start": {
1975                                      "line": 27,
1976                                      "column": 25,
1977                                      "program": "generic_variance_1.ets"
1978                                    },
1979                                    "end": {
1980                                      "line": 27,
1981                                      "column": 27,
1982                                      "program": "generic_variance_1.ets"
1983                                    }
1984                                  }
1985                                },
1986                                "typeParams": {
1987                                  "type": "TSTypeParameterInstantiation",
1988                                  "params": [
1989                                    {
1990                                      "type": "ETSTypeReference",
1991                                      "part": {
1992                                        "type": "ETSTypeReferencePart",
1993                                        "name": {
1994                                          "type": "Identifier",
1995                                          "name": "B",
1996                                          "decorators": [],
1997                                          "loc": {
1998                                            "start": {
1999                                              "line": 27,
2000                                              "column": 28,
2001                                              "program": "generic_variance_1.ets"
2002                                            },
2003                                            "end": {
2004                                              "line": 27,
2005                                              "column": 29,
2006                                              "program": "generic_variance_1.ets"
2007                                            }
2008                                          }
2009                                        },
2010                                        "loc": {
2011                                          "start": {
2012                                            "line": 27,
2013                                            "column": 28,
2014                                            "program": "generic_variance_1.ets"
2015                                          },
2016                                          "end": {
2017                                            "line": 27,
2018                                            "column": 30,
2019                                            "program": "generic_variance_1.ets"
2020                                          }
2021                                        }
2022                                      },
2023                                      "loc": {
2024                                        "start": {
2025                                          "line": 27,
2026                                          "column": 28,
2027                                          "program": "generic_variance_1.ets"
2028                                        },
2029                                        "end": {
2030                                          "line": 27,
2031                                          "column": 30,
2032                                          "program": "generic_variance_1.ets"
2033                                        }
2034                                      }
2035                                    }
2036                                  ],
2037                                  "loc": {
2038                                    "start": {
2039                                      "line": 27,
2040                                      "column": 27,
2041                                      "program": "generic_variance_1.ets"
2042                                    },
2043                                    "end": {
2044                                      "line": 27,
2045                                      "column": 30,
2046                                      "program": "generic_variance_1.ets"
2047                                    }
2048                                  }
2049                                },
2050                                "loc": {
2051                                  "start": {
2052                                    "line": 27,
2053                                    "column": 25,
2054                                    "program": "generic_variance_1.ets"
2055                                  },
2056                                  "end": {
2057                                    "line": 27,
2058                                    "column": 31,
2059                                    "program": "generic_variance_1.ets"
2060                                  }
2061                                }
2062                              },
2063                              "loc": {
2064                                "start": {
2065                                  "line": 27,
2066                                  "column": 25,
2067                                  "program": "generic_variance_1.ets"
2068                                },
2069                                "end": {
2070                                  "line": 27,
2071                                  "column": 31,
2072                                  "program": "generic_variance_1.ets"
2073                                }
2074                              }
2075                            },
2076                            "arguments": [],
2077                            "loc": {
2078                              "start": {
2079                                "line": 27,
2080                                "column": 21,
2081                                "program": "generic_variance_1.ets"
2082                              },
2083                              "end": {
2084                                "line": 28,
2085                                "column": 2,
2086                                "program": "generic_variance_1.ets"
2087                              }
2088                            }
2089                          },
2090                          "loc": {
2091                            "start": {
2092                              "line": 27,
2093                              "column": 9,
2094                              "program": "generic_variance_1.ets"
2095                            },
2096                            "end": {
2097                              "line": 28,
2098                              "column": 2,
2099                              "program": "generic_variance_1.ets"
2100                            }
2101                          }
2102                        }
2103                      ],
2104                      "kind": "let",
2105                      "loc": {
2106                        "start": {
2107                          "line": 27,
2108                          "column": 5,
2109                          "program": "generic_variance_1.ets"
2110                        },
2111                        "end": {
2112                          "line": 28,
2113                          "column": 2,
2114                          "program": "generic_variance_1.ets"
2115                        }
2116                      }
2117                    }
2118                  ],
2119                  "loc": {
2120                    "start": {
2121                      "line": 22,
2122                      "column": 23,
2123                      "program": "generic_variance_1.ets"
2124                    },
2125                    "end": {
2126                      "line": 28,
2127                      "column": 2,
2128                      "program": "generic_variance_1.ets"
2129                    }
2130                  }
2131                },
2132                "loc": {
2133                  "start": {
2134                    "line": 22,
2135                    "column": 10,
2136                    "program": "generic_variance_1.ets"
2137                  },
2138                  "end": {
2139                    "line": 28,
2140                    "column": 2,
2141                    "program": "generic_variance_1.ets"
2142                  }
2143                }
2144              },
2145              "loc": {
2146                "start": {
2147                  "line": 22,
2148                  "column": 10,
2149                  "program": "generic_variance_1.ets"
2150                },
2151                "end": {
2152                  "line": 28,
2153                  "column": 2,
2154                  "program": "generic_variance_1.ets"
2155                }
2156              }
2157            },
2158            "overloads": [],
2159            "decorators": [],
2160            "loc": {
2161              "start": {
2162                "line": 22,
2163                "column": 1,
2164                "program": "generic_variance_1.ets"
2165              },
2166              "end": {
2167                "line": 28,
2168                "column": 2,
2169                "program": "generic_variance_1.ets"
2170              }
2171            }
2172          }
2173        ],
2174        "loc": {
2175          "start": {
2176            "line": 1,
2177            "column": 1,
2178            "program": "generic_variance_1.ets"
2179          },
2180          "end": {
2181            "line": 1,
2182            "column": 1,
2183            "program": "generic_variance_1.ets"
2184          }
2185        }
2186      },
2187      "loc": {
2188        "start": {
2189          "line": 1,
2190          "column": 1,
2191          "program": "generic_variance_1.ets"
2192        },
2193        "end": {
2194          "line": 1,
2195          "column": 1,
2196          "program": "generic_variance_1.ets"
2197        }
2198      }
2199    }
2200  ],
2201  "loc": {
2202    "start": {
2203      "line": 1,
2204      "column": 1,
2205      "program": "generic_variance_1.ets"
2206    },
2207    "end": {
2208      "line": 28,
2209      "column": 2,
2210      "program": "generic_variance_1.ets"
2211    }
2212  }
2213}
2214