1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "A", 10 "loc": { 11 "start": { 12 "line": 16, 13 "column": 7 14 }, 15 "end": { 16 "line": 16, 17 "column": 8 18 } 19 } 20 }, 21 "typeParameters": { 22 "type": "TSTypeParameterDeclaration", 23 "params": [ 24 { 25 "type": "TSTypeParameter", 26 "name": { 27 "type": "Identifier", 28 "name": "T", 29 "loc": { 30 "start": { 31 "line": 16, 32 "column": 9 33 }, 34 "end": { 35 "line": 16, 36 "column": 10 37 } 38 } 39 }, 40 "in": false, 41 "out": false, 42 "loc": { 43 "start": { 44 "line": 16, 45 "column": 9 46 }, 47 "end": { 48 "line": 16, 49 "column": 11 50 } 51 } 52 } 53 ], 54 "loc": { 55 "start": { 56 "line": 16, 57 "column": 8 58 }, 59 "end": { 60 "line": 16, 61 "column": 11 62 } 63 } 64 }, 65 "superClass": null, 66 "implements": [], 67 "constructor": { 68 "type": "MethodDefinition", 69 "key": { 70 "type": "Identifier", 71 "name": "constructor", 72 "loc": { 73 "start": { 74 "line": 1, 75 "column": 1 76 }, 77 "end": { 78 "line": 1, 79 "column": 1 80 } 81 } 82 }, 83 "kind": "constructor", 84 "static": false, 85 "optional": false, 86 "computed": false, 87 "value": { 88 "type": "FunctionExpression", 89 "function": { 90 "type": "ScriptFunction", 91 "id": null, 92 "generator": false, 93 "async": false, 94 "expression": false, 95 "params": [], 96 "body": { 97 "type": "BlockStatement", 98 "statements": [], 99 "loc": { 100 "start": { 101 "line": 1, 102 "column": 1 103 }, 104 "end": { 105 "line": 1, 106 "column": 1 107 } 108 } 109 }, 110 "loc": { 111 "start": { 112 "line": 1, 113 "column": 1 114 }, 115 "end": { 116 "line": 1, 117 "column": 1 118 } 119 } 120 }, 121 "loc": { 122 "start": { 123 "line": 1, 124 "column": 1 125 }, 126 "end": { 127 "line": 1, 128 "column": 1 129 } 130 } 131 }, 132 "overloads": [], 133 "decorators": [], 134 "loc": { 135 "start": { 136 "line": 16, 137 "column": 1 138 }, 139 "end": { 140 "line": 17, 141 "column": 2 142 } 143 } 144 }, 145 "body": [], 146 "indexSignatures": [], 147 "loc": { 148 "start": { 149 "line": 16, 150 "column": 12 151 }, 152 "end": { 153 "line": 17, 154 "column": 2 155 } 156 } 157 }, 158 "decorators": [], 159 "loc": { 160 "start": { 161 "line": 16, 162 "column": 1 163 }, 164 "end": { 165 "line": 17, 166 "column": 2 167 } 168 } 169 }, 170 { 171 "type": "VariableDeclaration", 172 "declarations": [ 173 { 174 "type": "VariableDeclarator", 175 "id": { 176 "type": "Identifier", 177 "name": "a", 178 "typeAnnotation": { 179 "type": "TSTypeReference", 180 "typeName": { 181 "type": "Identifier", 182 "name": "A", 183 "loc": { 184 "start": { 185 "line": 19, 186 "column": 9 187 }, 188 "end": { 189 "line": 19, 190 "column": 10 191 } 192 } 193 }, 194 "typeParameters": { 195 "type": "TSTypeParameterInstantiation", 196 "params": [ 197 { 198 "type": "TSNumberKeyword", 199 "loc": { 200 "start": { 201 "line": 19, 202 "column": 11 203 }, 204 "end": { 205 "line": 19, 206 "column": 17 207 } 208 } 209 } 210 ], 211 "loc": { 212 "start": { 213 "line": 19, 214 "column": 10 215 }, 216 "end": { 217 "line": 19, 218 "column": 18 219 } 220 } 221 }, 222 "loc": { 223 "start": { 224 "line": 19, 225 "column": 9 226 }, 227 "end": { 228 "line": 19, 229 "column": 10 230 } 231 } 232 }, 233 "loc": { 234 "start": { 235 "line": 19, 236 "column": 5 237 }, 238 "end": { 239 "line": 19, 240 "column": 6 241 } 242 } 243 }, 244 "init": { 245 "type": "NewExpression", 246 "callee": { 247 "type": "Identifier", 248 "name": "A", 249 "loc": { 250 "start": { 251 "line": 19, 252 "column": 25 253 }, 254 "end": { 255 "line": 19, 256 "column": 26 257 } 258 } 259 }, 260 "typeParameters": { 261 "type": "TSTypeParameterInstantiation", 262 "params": [ 263 { 264 "type": "TSNumberKeyword", 265 "loc": { 266 "start": { 267 "line": 19, 268 "column": 27 269 }, 270 "end": { 271 "line": 19, 272 "column": 33 273 } 274 } 275 } 276 ], 277 "loc": { 278 "start": { 279 "line": 19, 280 "column": 26 281 }, 282 "end": { 283 "line": 19, 284 "column": 34 285 } 286 } 287 }, 288 "arguments": [], 289 "loc": { 290 "start": { 291 "line": 19, 292 "column": 21 293 }, 294 "end": { 295 "line": 19, 296 "column": 36 297 } 298 } 299 }, 300 "loc": { 301 "start": { 302 "line": 19, 303 "column": 5 304 }, 305 "end": { 306 "line": 19, 307 "column": 36 308 } 309 } 310 } 311 ], 312 "kind": "let", 313 "loc": { 314 "start": { 315 "line": 19, 316 "column": 1 317 }, 318 "end": { 319 "line": 19, 320 "column": 37 321 } 322 } 323 } 324 ], 325 "loc": { 326 "start": { 327 "line": 1, 328 "column": 1 329 }, 330 "end": { 331 "line": 21, 332 "column": 1 333 } 334 } 335} 336