13af6ab5fSopenharmony_ci{
23af6ab5fSopenharmony_ci  "type": "Program",
33af6ab5fSopenharmony_ci  "statements": [
43af6ab5fSopenharmony_ci    {
53af6ab5fSopenharmony_ci      "type": "TSDeclareFunction",
63af6ab5fSopenharmony_ci      "function": {
73af6ab5fSopenharmony_ci        "type": "ScriptFunction",
83af6ab5fSopenharmony_ci        "id": {
93af6ab5fSopenharmony_ci          "type": "Identifier",
103af6ab5fSopenharmony_ci          "name": "foo",
113af6ab5fSopenharmony_ci          "loc": {
123af6ab5fSopenharmony_ci            "start": {
133af6ab5fSopenharmony_ci              "line": 17,
143af6ab5fSopenharmony_ci              "column": 10
153af6ab5fSopenharmony_ci            },
163af6ab5fSopenharmony_ci            "end": {
173af6ab5fSopenharmony_ci              "line": 17,
183af6ab5fSopenharmony_ci              "column": 13
193af6ab5fSopenharmony_ci            }
203af6ab5fSopenharmony_ci          }
213af6ab5fSopenharmony_ci        },
223af6ab5fSopenharmony_ci        "generator": false,
233af6ab5fSopenharmony_ci        "async": false,
243af6ab5fSopenharmony_ci        "expression": false,
253af6ab5fSopenharmony_ci        "params": [
263af6ab5fSopenharmony_ci          {
273af6ab5fSopenharmony_ci            "type": "ArrayPattern",
283af6ab5fSopenharmony_ci            "elements": [
293af6ab5fSopenharmony_ci              {
303af6ab5fSopenharmony_ci                "type": "Identifier",
313af6ab5fSopenharmony_ci                "name": "x",
323af6ab5fSopenharmony_ci                "loc": {
333af6ab5fSopenharmony_ci                  "start": {
343af6ab5fSopenharmony_ci                    "line": 17,
353af6ab5fSopenharmony_ci                    "column": 15
363af6ab5fSopenharmony_ci                  },
373af6ab5fSopenharmony_ci                  "end": {
383af6ab5fSopenharmony_ci                    "line": 17,
393af6ab5fSopenharmony_ci                    "column": 16
403af6ab5fSopenharmony_ci                  }
413af6ab5fSopenharmony_ci                }
423af6ab5fSopenharmony_ci              }
433af6ab5fSopenharmony_ci            ],
443af6ab5fSopenharmony_ci            "typeAnnotation": {
453af6ab5fSopenharmony_ci              "type": "TSTupleType",
463af6ab5fSopenharmony_ci              "elementTypes": [
473af6ab5fSopenharmony_ci                {
483af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
493af6ab5fSopenharmony_ci                  "loc": {
503af6ab5fSopenharmony_ci                    "start": {
513af6ab5fSopenharmony_ci                      "line": 17,
523af6ab5fSopenharmony_ci                      "column": 20
533af6ab5fSopenharmony_ci                    },
543af6ab5fSopenharmony_ci                    "end": {
553af6ab5fSopenharmony_ci                      "line": 17,
563af6ab5fSopenharmony_ci                      "column": 26
573af6ab5fSopenharmony_ci                    }
583af6ab5fSopenharmony_ci                  }
593af6ab5fSopenharmony_ci                }
603af6ab5fSopenharmony_ci              ],
613af6ab5fSopenharmony_ci              "loc": {
623af6ab5fSopenharmony_ci                "start": {
633af6ab5fSopenharmony_ci                  "line": 17,
643af6ab5fSopenharmony_ci                  "column": 19
653af6ab5fSopenharmony_ci                },
663af6ab5fSopenharmony_ci                "end": {
673af6ab5fSopenharmony_ci                  "line": 17,
683af6ab5fSopenharmony_ci                  "column": 27
693af6ab5fSopenharmony_ci                }
703af6ab5fSopenharmony_ci              }
713af6ab5fSopenharmony_ci            },
723af6ab5fSopenharmony_ci            "optional": true,
733af6ab5fSopenharmony_ci            "loc": {
743af6ab5fSopenharmony_ci              "start": {
753af6ab5fSopenharmony_ci                "line": 17,
763af6ab5fSopenharmony_ci                "column": 14
773af6ab5fSopenharmony_ci              },
783af6ab5fSopenharmony_ci              "end": {
793af6ab5fSopenharmony_ci                "line": 17,
803af6ab5fSopenharmony_ci                "column": 17
813af6ab5fSopenharmony_ci              }
823af6ab5fSopenharmony_ci            }
833af6ab5fSopenharmony_ci          }
843af6ab5fSopenharmony_ci        ],
853af6ab5fSopenharmony_ci        "returnType": {
863af6ab5fSopenharmony_ci          "type": "TSNumberKeyword",
873af6ab5fSopenharmony_ci          "loc": {
883af6ab5fSopenharmony_ci            "start": {
893af6ab5fSopenharmony_ci              "line": 17,
903af6ab5fSopenharmony_ci              "column": 31
913af6ab5fSopenharmony_ci            },
923af6ab5fSopenharmony_ci            "end": {
933af6ab5fSopenharmony_ci              "line": 17,
943af6ab5fSopenharmony_ci              "column": 37
953af6ab5fSopenharmony_ci            }
963af6ab5fSopenharmony_ci          }
973af6ab5fSopenharmony_ci        },
983af6ab5fSopenharmony_ci        "loc": {
993af6ab5fSopenharmony_ci          "start": {
1003af6ab5fSopenharmony_ci            "line": 17,
1013af6ab5fSopenharmony_ci            "column": 1
1023af6ab5fSopenharmony_ci          },
1033af6ab5fSopenharmony_ci          "end": {
1043af6ab5fSopenharmony_ci            "line": 17,
1053af6ab5fSopenharmony_ci            "column": 38
1063af6ab5fSopenharmony_ci          }
1073af6ab5fSopenharmony_ci        }
1083af6ab5fSopenharmony_ci      },
1093af6ab5fSopenharmony_ci      "loc": {
1103af6ab5fSopenharmony_ci        "start": {
1113af6ab5fSopenharmony_ci          "line": 17,
1123af6ab5fSopenharmony_ci          "column": 1
1133af6ab5fSopenharmony_ci        },
1143af6ab5fSopenharmony_ci        "end": {
1153af6ab5fSopenharmony_ci          "line": 17,
1163af6ab5fSopenharmony_ci          "column": 38
1173af6ab5fSopenharmony_ci        }
1183af6ab5fSopenharmony_ci      }
1193af6ab5fSopenharmony_ci    },
1203af6ab5fSopenharmony_ci    {
1213af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
1223af6ab5fSopenharmony_ci      "function": {
1233af6ab5fSopenharmony_ci        "type": "ScriptFunction",
1243af6ab5fSopenharmony_ci        "id": {
1253af6ab5fSopenharmony_ci          "type": "Identifier",
1263af6ab5fSopenharmony_ci          "name": "foo",
1273af6ab5fSopenharmony_ci          "loc": {
1283af6ab5fSopenharmony_ci            "start": {
1293af6ab5fSopenharmony_ci              "line": 18,
1303af6ab5fSopenharmony_ci              "column": 10
1313af6ab5fSopenharmony_ci            },
1323af6ab5fSopenharmony_ci            "end": {
1333af6ab5fSopenharmony_ci              "line": 18,
1343af6ab5fSopenharmony_ci              "column": 13
1353af6ab5fSopenharmony_ci            }
1363af6ab5fSopenharmony_ci          }
1373af6ab5fSopenharmony_ci        },
1383af6ab5fSopenharmony_ci        "generator": false,
1393af6ab5fSopenharmony_ci        "async": false,
1403af6ab5fSopenharmony_ci        "expression": false,
1413af6ab5fSopenharmony_ci        "params": [
1423af6ab5fSopenharmony_ci          {
1433af6ab5fSopenharmony_ci            "type": "RestElement",
1443af6ab5fSopenharmony_ci            "argument": {
1453af6ab5fSopenharmony_ci              "type": "Identifier",
1463af6ab5fSopenharmony_ci              "name": "a",
1473af6ab5fSopenharmony_ci              "typeAnnotation": {
1483af6ab5fSopenharmony_ci                "type": "TSArrayType",
1493af6ab5fSopenharmony_ci                "elementType": {
1503af6ab5fSopenharmony_ci                  "type": "TSAnyKeyword",
1513af6ab5fSopenharmony_ci                  "loc": {
1523af6ab5fSopenharmony_ci                    "start": {
1533af6ab5fSopenharmony_ci                      "line": 18,
1543af6ab5fSopenharmony_ci                      "column": 19
1553af6ab5fSopenharmony_ci                    },
1563af6ab5fSopenharmony_ci                    "end": {
1573af6ab5fSopenharmony_ci                      "line": 18,
1583af6ab5fSopenharmony_ci                      "column": 22
1593af6ab5fSopenharmony_ci                    }
1603af6ab5fSopenharmony_ci                  }
1613af6ab5fSopenharmony_ci                },
1623af6ab5fSopenharmony_ci                "loc": {
1633af6ab5fSopenharmony_ci                  "start": {
1643af6ab5fSopenharmony_ci                    "line": 18,
1653af6ab5fSopenharmony_ci                    "column": 19
1663af6ab5fSopenharmony_ci                  },
1673af6ab5fSopenharmony_ci                  "end": {
1683af6ab5fSopenharmony_ci                    "line": 18,
1693af6ab5fSopenharmony_ci                    "column": 24
1703af6ab5fSopenharmony_ci                  }
1713af6ab5fSopenharmony_ci                }
1723af6ab5fSopenharmony_ci              },
1733af6ab5fSopenharmony_ci              "loc": {
1743af6ab5fSopenharmony_ci                "start": {
1753af6ab5fSopenharmony_ci                  "line": 18,
1763af6ab5fSopenharmony_ci                  "column": 17
1773af6ab5fSopenharmony_ci                },
1783af6ab5fSopenharmony_ci                "end": {
1793af6ab5fSopenharmony_ci                  "line": 18,
1803af6ab5fSopenharmony_ci                  "column": 18
1813af6ab5fSopenharmony_ci                }
1823af6ab5fSopenharmony_ci              }
1833af6ab5fSopenharmony_ci            },
1843af6ab5fSopenharmony_ci            "loc": {
1853af6ab5fSopenharmony_ci              "start": {
1863af6ab5fSopenharmony_ci                "line": 18,
1873af6ab5fSopenharmony_ci                "column": 14
1883af6ab5fSopenharmony_ci              },
1893af6ab5fSopenharmony_ci              "end": {
1903af6ab5fSopenharmony_ci                "line": 18,
1913af6ab5fSopenharmony_ci                "column": 18
1923af6ab5fSopenharmony_ci              }
1933af6ab5fSopenharmony_ci            }
1943af6ab5fSopenharmony_ci          }
1953af6ab5fSopenharmony_ci        ],
1963af6ab5fSopenharmony_ci        "returnType": {
1973af6ab5fSopenharmony_ci          "type": "TSAnyKeyword",
1983af6ab5fSopenharmony_ci          "loc": {
1993af6ab5fSopenharmony_ci            "start": {
2003af6ab5fSopenharmony_ci              "line": 18,
2013af6ab5fSopenharmony_ci              "column": 28
2023af6ab5fSopenharmony_ci            },
2033af6ab5fSopenharmony_ci            "end": {
2043af6ab5fSopenharmony_ci              "line": 18,
2053af6ab5fSopenharmony_ci              "column": 31
2063af6ab5fSopenharmony_ci            }
2073af6ab5fSopenharmony_ci          }
2083af6ab5fSopenharmony_ci        },
2093af6ab5fSopenharmony_ci        "body": {
2103af6ab5fSopenharmony_ci          "type": "BlockStatement",
2113af6ab5fSopenharmony_ci          "statements": [],
2123af6ab5fSopenharmony_ci          "loc": {
2133af6ab5fSopenharmony_ci            "start": {
2143af6ab5fSopenharmony_ci              "line": 18,
2153af6ab5fSopenharmony_ci              "column": 32
2163af6ab5fSopenharmony_ci            },
2173af6ab5fSopenharmony_ci            "end": {
2183af6ab5fSopenharmony_ci              "line": 18,
2193af6ab5fSopenharmony_ci              "column": 34
2203af6ab5fSopenharmony_ci            }
2213af6ab5fSopenharmony_ci          }
2223af6ab5fSopenharmony_ci        },
2233af6ab5fSopenharmony_ci        "loc": {
2243af6ab5fSopenharmony_ci          "start": {
2253af6ab5fSopenharmony_ci            "line": 18,
2263af6ab5fSopenharmony_ci            "column": 1
2273af6ab5fSopenharmony_ci          },
2283af6ab5fSopenharmony_ci          "end": {
2293af6ab5fSopenharmony_ci            "line": 18,
2303af6ab5fSopenharmony_ci            "column": 34
2313af6ab5fSopenharmony_ci          }
2323af6ab5fSopenharmony_ci        }
2333af6ab5fSopenharmony_ci      },
2343af6ab5fSopenharmony_ci      "loc": {
2353af6ab5fSopenharmony_ci        "start": {
2363af6ab5fSopenharmony_ci          "line": 18,
2373af6ab5fSopenharmony_ci          "column": 1
2383af6ab5fSopenharmony_ci        },
2393af6ab5fSopenharmony_ci        "end": {
2403af6ab5fSopenharmony_ci          "line": 18,
2413af6ab5fSopenharmony_ci          "column": 34
2423af6ab5fSopenharmony_ci        }
2433af6ab5fSopenharmony_ci      }
2443af6ab5fSopenharmony_ci    }
2453af6ab5fSopenharmony_ci  ],
2463af6ab5fSopenharmony_ci  "loc": {
2473af6ab5fSopenharmony_ci    "start": {
2483af6ab5fSopenharmony_ci      "line": 1,
2493af6ab5fSopenharmony_ci      "column": 1
2503af6ab5fSopenharmony_ci    },
2513af6ab5fSopenharmony_ci    "end": {
2523af6ab5fSopenharmony_ci      "line": 18,
2533af6ab5fSopenharmony_ci      "column": 34
2543af6ab5fSopenharmony_ci    }
2553af6ab5fSopenharmony_ci  }
2563af6ab5fSopenharmony_ci}
257