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