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