13af6ab5fSopenharmony_ci{
23af6ab5fSopenharmony_ci  "type": "Program",
33af6ab5fSopenharmony_ci  "statements": [
43af6ab5fSopenharmony_ci    {
53af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
63af6ab5fSopenharmony_ci      "definition": {
73af6ab5fSopenharmony_ci        "id": {
83af6ab5fSopenharmony_ci          "type": "Identifier",
93af6ab5fSopenharmony_ci          "name": "A",
103af6ab5fSopenharmony_ci          "loc": {
113af6ab5fSopenharmony_ci            "start": {
123af6ab5fSopenharmony_ci              "line": 16,
133af6ab5fSopenharmony_ci              "column": 7
143af6ab5fSopenharmony_ci            },
153af6ab5fSopenharmony_ci            "end": {
163af6ab5fSopenharmony_ci              "line": 16,
173af6ab5fSopenharmony_ci              "column": 8
183af6ab5fSopenharmony_ci            }
193af6ab5fSopenharmony_ci          }
203af6ab5fSopenharmony_ci        },
213af6ab5fSopenharmony_ci        "typeParameters": {
223af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
233af6ab5fSopenharmony_ci          "params": [
243af6ab5fSopenharmony_ci            {
253af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
263af6ab5fSopenharmony_ci              "name": {
273af6ab5fSopenharmony_ci                "type": "Identifier",
283af6ab5fSopenharmony_ci                "name": "T",
293af6ab5fSopenharmony_ci                "loc": {
303af6ab5fSopenharmony_ci                  "start": {
313af6ab5fSopenharmony_ci                    "line": 16,
323af6ab5fSopenharmony_ci                    "column": 9
333af6ab5fSopenharmony_ci                  },
343af6ab5fSopenharmony_ci                  "end": {
353af6ab5fSopenharmony_ci                    "line": 16,
363af6ab5fSopenharmony_ci                    "column": 10
373af6ab5fSopenharmony_ci                  }
383af6ab5fSopenharmony_ci                }
393af6ab5fSopenharmony_ci              },
403af6ab5fSopenharmony_ci              "in": false,
413af6ab5fSopenharmony_ci              "out": false,
423af6ab5fSopenharmony_ci              "loc": {
433af6ab5fSopenharmony_ci                "start": {
443af6ab5fSopenharmony_ci                  "line": 16,
453af6ab5fSopenharmony_ci                  "column": 9
463af6ab5fSopenharmony_ci                },
473af6ab5fSopenharmony_ci                "end": {
483af6ab5fSopenharmony_ci                  "line": 16,
493af6ab5fSopenharmony_ci                  "column": 11
503af6ab5fSopenharmony_ci                }
513af6ab5fSopenharmony_ci              }
523af6ab5fSopenharmony_ci            }
533af6ab5fSopenharmony_ci          ],
543af6ab5fSopenharmony_ci          "loc": {
553af6ab5fSopenharmony_ci            "start": {
563af6ab5fSopenharmony_ci              "line": 16,
573af6ab5fSopenharmony_ci              "column": 8
583af6ab5fSopenharmony_ci            },
593af6ab5fSopenharmony_ci            "end": {
603af6ab5fSopenharmony_ci              "line": 16,
613af6ab5fSopenharmony_ci              "column": 11
623af6ab5fSopenharmony_ci            }
633af6ab5fSopenharmony_ci          }
643af6ab5fSopenharmony_ci        },
653af6ab5fSopenharmony_ci        "superClass": null,
663af6ab5fSopenharmony_ci        "implements": [],
673af6ab5fSopenharmony_ci        "constructor": {
683af6ab5fSopenharmony_ci          "type": "MethodDefinition",
693af6ab5fSopenharmony_ci          "key": {
703af6ab5fSopenharmony_ci            "type": "Identifier",
713af6ab5fSopenharmony_ci            "name": "constructor",
723af6ab5fSopenharmony_ci            "loc": {
733af6ab5fSopenharmony_ci              "start": {
743af6ab5fSopenharmony_ci                "line": 1,
753af6ab5fSopenharmony_ci                "column": 1
763af6ab5fSopenharmony_ci              },
773af6ab5fSopenharmony_ci              "end": {
783af6ab5fSopenharmony_ci                "line": 1,
793af6ab5fSopenharmony_ci                "column": 1
803af6ab5fSopenharmony_ci              }
813af6ab5fSopenharmony_ci            }
823af6ab5fSopenharmony_ci          },
833af6ab5fSopenharmony_ci          "kind": "constructor",
843af6ab5fSopenharmony_ci          "static": false,
853af6ab5fSopenharmony_ci          "optional": false,
863af6ab5fSopenharmony_ci          "computed": false,
873af6ab5fSopenharmony_ci          "value": {
883af6ab5fSopenharmony_ci            "type": "FunctionExpression",
893af6ab5fSopenharmony_ci            "function": {
903af6ab5fSopenharmony_ci              "type": "ScriptFunction",
913af6ab5fSopenharmony_ci              "id": null,
923af6ab5fSopenharmony_ci              "generator": false,
933af6ab5fSopenharmony_ci              "async": false,
943af6ab5fSopenharmony_ci              "expression": false,
953af6ab5fSopenharmony_ci              "params": [],
963af6ab5fSopenharmony_ci              "body": {
973af6ab5fSopenharmony_ci                "type": "BlockStatement",
983af6ab5fSopenharmony_ci                "statements": [],
993af6ab5fSopenharmony_ci                "loc": {
1003af6ab5fSopenharmony_ci                  "start": {
1013af6ab5fSopenharmony_ci                    "line": 1,
1023af6ab5fSopenharmony_ci                    "column": 1
1033af6ab5fSopenharmony_ci                  },
1043af6ab5fSopenharmony_ci                  "end": {
1053af6ab5fSopenharmony_ci                    "line": 1,
1063af6ab5fSopenharmony_ci                    "column": 1
1073af6ab5fSopenharmony_ci                  }
1083af6ab5fSopenharmony_ci                }
1093af6ab5fSopenharmony_ci              },
1103af6ab5fSopenharmony_ci              "loc": {
1113af6ab5fSopenharmony_ci                "start": {
1123af6ab5fSopenharmony_ci                  "line": 1,
1133af6ab5fSopenharmony_ci                  "column": 1
1143af6ab5fSopenharmony_ci                },
1153af6ab5fSopenharmony_ci                "end": {
1163af6ab5fSopenharmony_ci                  "line": 1,
1173af6ab5fSopenharmony_ci                  "column": 1
1183af6ab5fSopenharmony_ci                }
1193af6ab5fSopenharmony_ci              }
1203af6ab5fSopenharmony_ci            },
1213af6ab5fSopenharmony_ci            "loc": {
1223af6ab5fSopenharmony_ci              "start": {
1233af6ab5fSopenharmony_ci                "line": 1,
1243af6ab5fSopenharmony_ci                "column": 1
1253af6ab5fSopenharmony_ci              },
1263af6ab5fSopenharmony_ci              "end": {
1273af6ab5fSopenharmony_ci                "line": 1,
1283af6ab5fSopenharmony_ci                "column": 1
1293af6ab5fSopenharmony_ci              }
1303af6ab5fSopenharmony_ci            }
1313af6ab5fSopenharmony_ci          },
1323af6ab5fSopenharmony_ci          "overloads": [],
1333af6ab5fSopenharmony_ci          "decorators": [],
1343af6ab5fSopenharmony_ci          "annotations": [],
1353af6ab5fSopenharmony_ci          "loc": {
1363af6ab5fSopenharmony_ci            "start": {
1373af6ab5fSopenharmony_ci              "line": 16,
1383af6ab5fSopenharmony_ci              "column": 1
1393af6ab5fSopenharmony_ci            },
1403af6ab5fSopenharmony_ci            "end": {
1413af6ab5fSopenharmony_ci              "line": 17,
1423af6ab5fSopenharmony_ci              "column": 2
1433af6ab5fSopenharmony_ci            }
1443af6ab5fSopenharmony_ci          }
1453af6ab5fSopenharmony_ci        },
1463af6ab5fSopenharmony_ci        "body": [],
1473af6ab5fSopenharmony_ci        "indexSignatures": [],
1483af6ab5fSopenharmony_ci        "loc": {
1493af6ab5fSopenharmony_ci          "start": {
1503af6ab5fSopenharmony_ci            "line": 16,
1513af6ab5fSopenharmony_ci            "column": 12
1523af6ab5fSopenharmony_ci          },
1533af6ab5fSopenharmony_ci          "end": {
1543af6ab5fSopenharmony_ci            "line": 17,
1553af6ab5fSopenharmony_ci            "column": 2
1563af6ab5fSopenharmony_ci          }
1573af6ab5fSopenharmony_ci        }
1583af6ab5fSopenharmony_ci      },
1593af6ab5fSopenharmony_ci      "decorators": [],
1603af6ab5fSopenharmony_ci      "isAnnotationDeclaration": false,
1613af6ab5fSopenharmony_ci      "loc": {
1623af6ab5fSopenharmony_ci        "start": {
1633af6ab5fSopenharmony_ci          "line": 16,
1643af6ab5fSopenharmony_ci          "column": 1
1653af6ab5fSopenharmony_ci        },
1663af6ab5fSopenharmony_ci        "end": {
1673af6ab5fSopenharmony_ci          "line": 17,
1683af6ab5fSopenharmony_ci          "column": 2
1693af6ab5fSopenharmony_ci        }
1703af6ab5fSopenharmony_ci      }
1713af6ab5fSopenharmony_ci    },
1723af6ab5fSopenharmony_ci    {
1733af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
1743af6ab5fSopenharmony_ci      "declarations": [
1753af6ab5fSopenharmony_ci        {
1763af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
1773af6ab5fSopenharmony_ci          "id": {
1783af6ab5fSopenharmony_ci            "type": "Identifier",
1793af6ab5fSopenharmony_ci            "name": "a",
1803af6ab5fSopenharmony_ci            "typeAnnotation": {
1813af6ab5fSopenharmony_ci              "type": "TSTypeReference",
1823af6ab5fSopenharmony_ci              "typeName": {
1833af6ab5fSopenharmony_ci                "type": "Identifier",
1843af6ab5fSopenharmony_ci                "name": "A",
1853af6ab5fSopenharmony_ci                "loc": {
1863af6ab5fSopenharmony_ci                  "start": {
1873af6ab5fSopenharmony_ci                    "line": 19,
1883af6ab5fSopenharmony_ci                    "column": 9
1893af6ab5fSopenharmony_ci                  },
1903af6ab5fSopenharmony_ci                  "end": {
1913af6ab5fSopenharmony_ci                    "line": 19,
1923af6ab5fSopenharmony_ci                    "column": 10
1933af6ab5fSopenharmony_ci                  }
1943af6ab5fSopenharmony_ci                }
1953af6ab5fSopenharmony_ci              },
1963af6ab5fSopenharmony_ci              "typeParameters": {
1973af6ab5fSopenharmony_ci                "type": "TSTypeParameterInstantiation",
1983af6ab5fSopenharmony_ci                "params": [
1993af6ab5fSopenharmony_ci                  {
2003af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
2013af6ab5fSopenharmony_ci                    "loc": {
2023af6ab5fSopenharmony_ci                      "start": {
2033af6ab5fSopenharmony_ci                        "line": 19,
2043af6ab5fSopenharmony_ci                        "column": 11
2053af6ab5fSopenharmony_ci                      },
2063af6ab5fSopenharmony_ci                      "end": {
2073af6ab5fSopenharmony_ci                        "line": 19,
2083af6ab5fSopenharmony_ci                        "column": 17
2093af6ab5fSopenharmony_ci                      }
2103af6ab5fSopenharmony_ci                    }
2113af6ab5fSopenharmony_ci                  }
2123af6ab5fSopenharmony_ci                ],
2133af6ab5fSopenharmony_ci                "loc": {
2143af6ab5fSopenharmony_ci                  "start": {
2153af6ab5fSopenharmony_ci                    "line": 19,
2163af6ab5fSopenharmony_ci                    "column": 10
2173af6ab5fSopenharmony_ci                  },
2183af6ab5fSopenharmony_ci                  "end": {
2193af6ab5fSopenharmony_ci                    "line": 19,
2203af6ab5fSopenharmony_ci                    "column": 18
2213af6ab5fSopenharmony_ci                  }
2223af6ab5fSopenharmony_ci                }
2233af6ab5fSopenharmony_ci              },
2243af6ab5fSopenharmony_ci              "loc": {
2253af6ab5fSopenharmony_ci                "start": {
2263af6ab5fSopenharmony_ci                  "line": 19,
2273af6ab5fSopenharmony_ci                  "column": 9
2283af6ab5fSopenharmony_ci                },
2293af6ab5fSopenharmony_ci                "end": {
2303af6ab5fSopenharmony_ci                  "line": 19,
2313af6ab5fSopenharmony_ci                  "column": 10
2323af6ab5fSopenharmony_ci                }
2333af6ab5fSopenharmony_ci              }
2343af6ab5fSopenharmony_ci            },
2353af6ab5fSopenharmony_ci            "loc": {
2363af6ab5fSopenharmony_ci              "start": {
2373af6ab5fSopenharmony_ci                "line": 19,
2383af6ab5fSopenharmony_ci                "column": 5
2393af6ab5fSopenharmony_ci              },
2403af6ab5fSopenharmony_ci              "end": {
2413af6ab5fSopenharmony_ci                "line": 19,
2423af6ab5fSopenharmony_ci                "column": 6
2433af6ab5fSopenharmony_ci              }
2443af6ab5fSopenharmony_ci            }
2453af6ab5fSopenharmony_ci          },
2463af6ab5fSopenharmony_ci          "init": {
2473af6ab5fSopenharmony_ci            "type": "NewExpression",
2483af6ab5fSopenharmony_ci            "callee": {
2493af6ab5fSopenharmony_ci              "type": "Identifier",
2503af6ab5fSopenharmony_ci              "name": "A",
2513af6ab5fSopenharmony_ci              "loc": {
2523af6ab5fSopenharmony_ci                "start": {
2533af6ab5fSopenharmony_ci                  "line": 19,
2543af6ab5fSopenharmony_ci                  "column": 25
2553af6ab5fSopenharmony_ci                },
2563af6ab5fSopenharmony_ci                "end": {
2573af6ab5fSopenharmony_ci                  "line": 19,
2583af6ab5fSopenharmony_ci                  "column": 26
2593af6ab5fSopenharmony_ci                }
2603af6ab5fSopenharmony_ci              }
2613af6ab5fSopenharmony_ci            },
2623af6ab5fSopenharmony_ci            "typeParameters": {
2633af6ab5fSopenharmony_ci              "type": "TSTypeParameterInstantiation",
2643af6ab5fSopenharmony_ci              "params": [
2653af6ab5fSopenharmony_ci                {
2663af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
2673af6ab5fSopenharmony_ci                  "loc": {
2683af6ab5fSopenharmony_ci                    "start": {
2693af6ab5fSopenharmony_ci                      "line": 19,
2703af6ab5fSopenharmony_ci                      "column": 27
2713af6ab5fSopenharmony_ci                    },
2723af6ab5fSopenharmony_ci                    "end": {
2733af6ab5fSopenharmony_ci                      "line": 19,
2743af6ab5fSopenharmony_ci                      "column": 33
2753af6ab5fSopenharmony_ci                    }
2763af6ab5fSopenharmony_ci                  }
2773af6ab5fSopenharmony_ci                }
2783af6ab5fSopenharmony_ci              ],
2793af6ab5fSopenharmony_ci              "loc": {
2803af6ab5fSopenharmony_ci                "start": {
2813af6ab5fSopenharmony_ci                  "line": 19,
2823af6ab5fSopenharmony_ci                  "column": 26
2833af6ab5fSopenharmony_ci                },
2843af6ab5fSopenharmony_ci                "end": {
2853af6ab5fSopenharmony_ci                  "line": 19,
2863af6ab5fSopenharmony_ci                  "column": 34
2873af6ab5fSopenharmony_ci                }
2883af6ab5fSopenharmony_ci              }
2893af6ab5fSopenharmony_ci            },
2903af6ab5fSopenharmony_ci            "arguments": [],
2913af6ab5fSopenharmony_ci            "loc": {
2923af6ab5fSopenharmony_ci              "start": {
2933af6ab5fSopenharmony_ci                "line": 19,
2943af6ab5fSopenharmony_ci                "column": 21
2953af6ab5fSopenharmony_ci              },
2963af6ab5fSopenharmony_ci              "end": {
2973af6ab5fSopenharmony_ci                "line": 19,
2983af6ab5fSopenharmony_ci                "column": 36
2993af6ab5fSopenharmony_ci              }
3003af6ab5fSopenharmony_ci            }
3013af6ab5fSopenharmony_ci          },
3023af6ab5fSopenharmony_ci          "loc": {
3033af6ab5fSopenharmony_ci            "start": {
3043af6ab5fSopenharmony_ci              "line": 19,
3053af6ab5fSopenharmony_ci              "column": 5
3063af6ab5fSopenharmony_ci            },
3073af6ab5fSopenharmony_ci            "end": {
3083af6ab5fSopenharmony_ci              "line": 19,
3093af6ab5fSopenharmony_ci              "column": 36
3103af6ab5fSopenharmony_ci            }
3113af6ab5fSopenharmony_ci          }
3123af6ab5fSopenharmony_ci        }
3133af6ab5fSopenharmony_ci      ],
3143af6ab5fSopenharmony_ci      "kind": "let",
3153af6ab5fSopenharmony_ci      "loc": {
3163af6ab5fSopenharmony_ci        "start": {
3173af6ab5fSopenharmony_ci          "line": 19,
3183af6ab5fSopenharmony_ci          "column": 1
3193af6ab5fSopenharmony_ci        },
3203af6ab5fSopenharmony_ci        "end": {
3213af6ab5fSopenharmony_ci          "line": 19,
3223af6ab5fSopenharmony_ci          "column": 37
3233af6ab5fSopenharmony_ci        }
3243af6ab5fSopenharmony_ci      }
3253af6ab5fSopenharmony_ci    }
3263af6ab5fSopenharmony_ci  ],
3273af6ab5fSopenharmony_ci  "loc": {
3283af6ab5fSopenharmony_ci    "start": {
3293af6ab5fSopenharmony_ci      "line": 1,
3303af6ab5fSopenharmony_ci      "column": 1
3313af6ab5fSopenharmony_ci    },
3323af6ab5fSopenharmony_ci    "end": {
3333af6ab5fSopenharmony_ci      "line": 21,
3343af6ab5fSopenharmony_ci      "column": 1
3353af6ab5fSopenharmony_ci    }
3363af6ab5fSopenharmony_ci  }
3373af6ab5fSopenharmony_ci}
338