{ "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", "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, "expression": false, "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 }, "extra": { "parenthesizedArgument": 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, "guardedHandlers": [], "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": [] } }