{ "type": "File", "start":0,"end":212,"loc":{"start":{"line":1,"column":0},"end":{"line":13,"column":1}}, "program": { "type": "Program", "start":0,"end":212,"loc":{"start":{"line":1,"column":0},"end":{"line":13,"column":1}}, "sourceType": "script", "interpreter": null, "body": [ { "type": "ClassDeclaration", "start":0,"end":212,"loc":{"start":{"line":1,"column":0},"end":{"line":13,"column":1}}, "id": { "type": "Identifier", "start":6,"end":9,"loc":{"start":{"line":1,"column":6},"end":{"line":1,"column":9},"identifierName":"Foo"}, "name": "Foo" }, "superClass": null, "body": { "type": "ClassBody", "start":10,"end":212,"loc":{"start":{"line":1,"column":10},"end":{"line":13,"column":1}}, "body": [ { "type": "ClassPrivateMethod", "start":14,"end":210,"loc":{"start":{"line":2,"column":2},"end":{"line":12,"column":3}}, "static": false, "key": { "type": "PrivateName", "start":21,"end":31,"loc":{"start":{"line":2,"column":9},"end":{"line":2,"column":19}}, "id": { "type": "Identifier", "start":22,"end":31,"loc":{"start":{"line":2,"column":10},"end":{"line":2,"column":19},"identifierName":"readLines"}, "name": "readLines" } }, "computed": false, "kind": "method", "id": null, "generator": true, "async": true, "params": [ { "type": "Identifier", "start":32,"end":36,"loc":{"start":{"line":2,"column":20},"end":{"line":2,"column":24},"identifierName":"path"}, "name": "path" } ], "body": { "type": "BlockStatement", "start":38,"end":210,"loc":{"start":{"line":2,"column":26},"end":{"line":12,"column":3}}, "body": [ { "type": "VariableDeclaration", "start":44,"end":76,"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":36}}, "declarations": [ { "type": "VariableDeclarator", "start":48,"end":75,"loc":{"start":{"line":3,"column":8},"end":{"line":3,"column":35}}, "id": { "type": "Identifier", "start":48,"end":52,"loc":{"start":{"line":3,"column":8},"end":{"line":3,"column":12},"identifierName":"file"}, "name": "file" }, "init": { "type": "AwaitExpression", "start":55,"end":75,"loc":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}}, "argument": { "type": "CallExpression", "start":61,"end":75,"loc":{"start":{"line":3,"column":21},"end":{"line":3,"column":35}}, "callee": { "type": "Identifier", "start":61,"end":69,"loc":{"start":{"line":3,"column":21},"end":{"line":3,"column":29},"identifierName":"fileOpen"}, "name": "fileOpen" }, "arguments": [ { "type": "Identifier", "start":70,"end":74,"loc":{"start":{"line":3,"column":30},"end":{"line":3,"column":34},"identifierName":"path"}, "name": "path" } ] } } } ], "kind": "let" }, { "type": "TryStatement", "start":82,"end":206,"loc":{"start":{"line":5,"column":4},"end":{"line":11,"column":5}}, "block": { "type": "BlockStatement", "start":86,"end":164,"loc":{"start":{"line":5,"column":8},"end":{"line":9,"column":5}}, "body": [ { "type": "WhileStatement", "start":94,"end":158,"loc":{"start":{"line":6,"column":6},"end":{"line":8,"column":7}}, "test": { "type": "UnaryExpression", "start":101,"end":110,"loc":{"start":{"line":6,"column":13},"end":{"line":6,"column":22}}, "operator": "!", "prefix": true, "argument": { "type": "MemberExpression", "start":102,"end":110,"loc":{"start":{"line":6,"column":14},"end":{"line":6,"column":22}}, "object": { "type": "Identifier", "start":102,"end":106,"loc":{"start":{"line":6,"column":14},"end":{"line":6,"column":18},"identifierName":"file"}, "name": "file" }, "property": { "type": "Identifier", "start":107,"end":110,"loc":{"start":{"line":6,"column":19},"end":{"line":6,"column":22},"identifierName":"EOF"}, "name": "EOF" }, "computed": false } }, "body": { "type": "BlockStatement", "start":112,"end":158,"loc":{"start":{"line":6,"column":24},"end":{"line":8,"column":7}}, "body": [ { "type": "ExpressionStatement", "start":122,"end":150,"loc":{"start":{"line":7,"column":8},"end":{"line":7,"column":36}}, "expression": { "type": "YieldExpression", "start":122,"end":149,"loc":{"start":{"line":7,"column":8},"end":{"line":7,"column":35}}, "delegate": false, "argument": { "type": "AwaitExpression", "start":128,"end":149,"loc":{"start":{"line":7,"column":14},"end":{"line":7,"column":35}}, "argument": { "type": "CallExpression", "start":134,"end":149,"loc":{"start":{"line":7,"column":20},"end":{"line":7,"column":35}}, "callee": { "type": "MemberExpression", "start":134,"end":147,"loc":{"start":{"line":7,"column":20},"end":{"line":7,"column":33}}, "object": { "type": "Identifier", "start":134,"end":138,"loc":{"start":{"line":7,"column":20},"end":{"line":7,"column":24},"identifierName":"file"}, "name": "file" }, "property": { "type": "Identifier", "start":139,"end":147,"loc":{"start":{"line":7,"column":25},"end":{"line":7,"column":33},"identifierName":"readLine"}, "name": "readLine" }, "computed": false }, "arguments": [] } } } } ], "directives": [] } } ], "directives": [] }, "handler": null, "finalizer": { "type": "BlockStatement", "start":173,"end":206,"loc":{"start":{"line":9,"column":14},"end":{"line":11,"column":5}}, "body": [ { "type": "ExpressionStatement", "start":181,"end":200,"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":25}}, "expression": { "type": "AwaitExpression", "start":181,"end":199,"loc":{"start":{"line":10,"column":6},"end":{"line":10,"column":24}}, "argument": { "type": "CallExpression", "start":187,"end":199,"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":24}}, "callee": { "type": "MemberExpression", "start":187,"end":197,"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":22}}, "object": { "type": "Identifier", "start":187,"end":191,"loc":{"start":{"line":10,"column":12},"end":{"line":10,"column":16},"identifierName":"file"}, "name": "file" }, "property": { "type": "Identifier", "start":192,"end":197,"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":22},"identifierName":"close"}, "name": "close" }, "computed": false }, "arguments": [] } } } ], "directives": [] } } ], "directives": [] } } ] } } ], "directives": [] } }