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 "annotations": [], 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 "isAnnotationDeclaration": false, 161 "loc": { 162 "start": { 163 "line": 16, 164 "column": 1 165 }, 166 "end": { 167 "line": 17, 168 "column": 2 169 } 170 } 171 }, 172 { 173 "type": "VariableDeclaration", 174 "declarations": [ 175 { 176 "type": "VariableDeclarator", 177 "id": { 178 "type": "Identifier", 179 "name": "a", 180 "typeAnnotation": { 181 "type": "TSTypeReference", 182 "typeName": { 183 "type": "Identifier", 184 "name": "A", 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": 10 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 "loc": { 236 "start": { 237 "line": 19, 238 "column": 5 239 }, 240 "end": { 241 "line": 19, 242 "column": 6 243 } 244 } 245 }, 246 "init": { 247 "type": "NewExpression", 248 "callee": { 249 "type": "Identifier", 250 "name": "A", 251 "loc": { 252 "start": { 253 "line": 19, 254 "column": 25 255 }, 256 "end": { 257 "line": 19, 258 "column": 26 259 } 260 } 261 }, 262 "typeParameters": { 263 "type": "TSTypeParameterInstantiation", 264 "params": [ 265 { 266 "type": "TSNumberKeyword", 267 "loc": { 268 "start": { 269 "line": 19, 270 "column": 27 271 }, 272 "end": { 273 "line": 19, 274 "column": 33 275 } 276 } 277 } 278 ], 279 "loc": { 280 "start": { 281 "line": 19, 282 "column": 26 283 }, 284 "end": { 285 "line": 19, 286 "column": 34 287 } 288 } 289 }, 290 "arguments": [], 291 "loc": { 292 "start": { 293 "line": 19, 294 "column": 21 295 }, 296 "end": { 297 "line": 19, 298 "column": 36 299 } 300 } 301 }, 302 "loc": { 303 "start": { 304 "line": 19, 305 "column": 5 306 }, 307 "end": { 308 "line": 19, 309 "column": 36 310 } 311 } 312 } 313 ], 314 "kind": "let", 315 "loc": { 316 "start": { 317 "line": 19, 318 "column": 1 319 }, 320 "end": { 321 "line": 19, 322 "column": 37 323 } 324 } 325 } 326 ], 327 "loc": { 328 "start": { 329 "line": 1, 330 "column": 1 331 }, 332 "end": { 333 "line": 21, 334 "column": 1 335 } 336 } 337} 338