UNPKG

seed-engine

Version:

A Lightweight 2D game engine using WebGL2. The engine is designed on the focus of creating a bridge between creating and publishing games to the Seed Network as modules.

1,851 lines 70.4 kB
{ "type": "File", "start": 0, "end": 952, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 23, "column": 1 } }, "program": { "type": "Program", "start": 0, "end": 952, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 23, "column": 1 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 38, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 38 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 17, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 17 } }, "local": { "type": "Identifier", "start": 7, "end": 17, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 17 }, "identifierName": "GameObject" }, "name": "GameObject" } } ], "source": { "type": "StringLiteral", "start": 23, "end": 37, "loc": { "start": { "line": 1, "column": 23 }, "end": { "line": 1, "column": 37 } }, "extra": { "rawValue": "./GameObject", "raw": "\"./GameObject\"" }, "value": "./GameObject" } }, { "type": "ImportDeclaration", "start": 39, "end": 100, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 61 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 46, "end": 63, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 24 } }, "local": { "type": "Identifier", "start": 46, "end": 63, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 24 }, "identifierName": "PersistentManager" }, "name": "PersistentManager" } } ], "source": { "type": "StringLiteral", "start": 69, "end": 99, "loc": { "start": { "line": 2, "column": 30 }, "end": { "line": 2, "column": 60 } }, "extra": { "rawValue": "../manager/PersistentManager", "raw": "\"../manager/PersistentManager\"" }, "value": "../manager/PersistentManager" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A GameObject which exists across scenes. \n * \n * Objects which derive PersistentObjects do not belong to any one scene. \n * If the derived object is intended to be rendered cross scene, the renderable component's\n * viewports must be reassigned on scene changes.\n ", "start": 102, "end": 375, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 10, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "start": 376, "end": 952, "loc": { "start": { "line": 11, "column": 0 }, "end": { "line": 23, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 391, "end": 952, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 23, "column": 1 } }, "id": { "type": "Identifier", "start": 397, "end": 413, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 37 }, "identifierName": "PersistentObject" }, "name": "PersistentObject", "leadingComments": null }, "superClass": { "type": "Identifier", "start": 422, "end": 432, "loc": { "start": { "line": 11, "column": 46 }, "end": { "line": 11, "column": 56 }, "identifierName": "GameObject" }, "name": "GameObject" }, "body": { "type": "ClassBody", "start": 433, "end": 952, "loc": { "start": { "line": 11, "column": 57 }, "end": { "line": 23, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 740, "end": 950, "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 22, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 740, "end": 751, "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": 15 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "AssignmentPattern", "start": 752, "end": 781, "loc": { "start": { "line": 19, "column": 16 }, "end": { "line": 19, "column": 45 } }, "left": { "type": "Identifier", "start": 752, "end": 760, "loc": { "start": { "line": 19, "column": 16 }, "end": { "line": 19, "column": 24 }, "identifierName": "position" }, "name": "position" }, "right": { "type": "NewExpression", "start": 763, "end": 781, "loc": { "start": { "line": 19, "column": 27 }, "end": { "line": 19, "column": 45 } }, "callee": { "type": "Identifier", "start": 767, "end": 772, "loc": { "start": { "line": 19, "column": 31 }, "end": { "line": 19, "column": 36 }, "identifierName": "Point" }, "name": "Point" }, "arguments": [ { "type": "NumericLiteral", "start": 773, "end": 774, "loc": { "start": { "line": 19, "column": 37 }, "end": { "line": 19, "column": 38 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 776, "end": 777, "loc": { "start": { "line": 19, "column": 40 }, "end": { "line": 19, "column": 41 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 }, { "type": "NumericLiteral", "start": 779, "end": 780, "loc": { "start": { "line": 19, "column": 43 }, "end": { "line": 19, "column": 44 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } ] } }, { "type": "AssignmentPattern", "start": 783, "end": 810, "loc": { "start": { "line": 19, "column": 47 }, "end": { "line": 19, "column": 74 } }, "left": { "type": "Identifier", "start": 783, "end": 787, "loc": { "start": { "line": 19, "column": 47 }, "end": { "line": 19, "column": 51 }, "identifierName": "size" }, "name": "size" }, "right": { "type": "NewExpression", "start": 790, "end": 810, "loc": { "start": { "line": 19, "column": 54 }, "end": { "line": 19, "column": 74 } }, "callee": { "type": "Identifier", "start": 794, "end": 799, "loc": { "start": { "line": 19, "column": 58 }, "end": { "line": 19, "column": 63 }, "identifierName": "Point" }, "name": "Point" }, "arguments": [ { "type": "NumericLiteral", "start": 800, "end": 802, "loc": { "start": { "line": 19, "column": 64 }, "end": { "line": 19, "column": 66 } }, "extra": { "rawValue": 32, "raw": "32" }, "value": 32 }, { "type": "NumericLiteral", "start": 804, "end": 806, "loc": { "start": { "line": 19, "column": 68 }, "end": { "line": 19, "column": 70 } }, "extra": { "rawValue": 32, "raw": "32" }, "value": 32 }, { "type": "NumericLiteral", "start": 808, "end": 809, "loc": { "start": { "line": 19, "column": 72 }, "end": { "line": 19, "column": 73 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } ] } }, { "type": "AssignmentPattern", "start": 812, "end": 824, "loc": { "start": { "line": 19, "column": 76 }, "end": { "line": 19, "column": 88 } }, "left": { "type": "Identifier", "start": 812, "end": 820, "loc": { "start": { "line": 19, "column": 76 }, "end": { "line": 19, "column": 84 }, "identifierName": "rotation" }, "name": "rotation" }, "right": { "type": "NumericLiteral", "start": 823, "end": 824, "loc": { "start": { "line": 19, "column": 87 }, "end": { "line": 19, "column": 88 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "body": { "type": "BlockStatement", "start": 826, "end": 950, "loc": { "start": { "line": 19, "column": 90 }, "end": { "line": 22, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 836, "end": 868, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 40 } }, "expression": { "type": "CallExpression", "start": 836, "end": 867, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 39 } }, "callee": { "type": "Super", "start": 836, "end": 841, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 13 } } }, "arguments": [ { "type": "Identifier", "start": 842, "end": 850, "loc": { "start": { "line": 20, "column": 14 }, "end": { "line": 20, "column": 22 }, "identifierName": "position" }, "name": "position" }, { "type": "Identifier", "start": 852, "end": 856, "loc": { "start": { "line": 20, "column": 24 }, "end": { "line": 20, "column": 28 }, "identifierName": "size" }, "name": "size" }, { "type": "Identifier", "start": 858, "end": 866, "loc": { "start": { "line": 20, "column": 30 }, "end": { "line": 20, "column": 38 }, "identifierName": "rotation" }, "name": "rotation" } ] } }, { "type": "ExpressionStatement", "start": 877, "end": 944, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 75 } }, "expression": { "type": "AssignmentExpression", "start": 877, "end": 943, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 74 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 877, "end": 892, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 23 } }, "object": { "type": "ThisExpression", "start": 877, "end": 881, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 12 } } }, "property": { "type": "Identifier", "start": 882, "end": 892, "loc": { "start": { "line": 21, "column": 13 }, "end": { "line": 21, "column": 23 }, "identifierName": "deregister" }, "name": "deregister" }, "computed": false }, "right": { "type": "CallExpression", "start": 895, "end": 943, "loc": { "start": { "line": 21, "column": 26 }, "end": { "line": 21, "column": 74 } }, "callee": { "type": "MemberExpression", "start": 895, "end": 937, "loc": { "start": { "line": 21, "column": 26 }, "end": { "line": 21, "column": 68 } }, "object": { "type": "Identifier", "start": 895, "end": 912, "loc": { "start": { "line": 21, "column": 26 }, "end": { "line": 21, "column": 43 }, "identifierName": "PersistentManager" }, "name": "PersistentManager" }, "property": { "type": "Identifier", "start": 913, "end": 937, "loc": { "start": { "line": 21, "column": 44 }, "end": { "line": 21, "column": 68 }, "identifierName": "registerPersistentObject" }, "name": "registerPersistentObject" }, "computed": false }, "arguments": [ { "type": "ThisExpression", "start": 938, "end": 942, "loc": { "start": { "line": 21, "column": 69 }, "end": { "line": 21, "column": 73 } } } ] } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Default position, size and rotation of the Object.\n * \n * @param {Point} position A point of creation in the world.\n * @param {Point} size A point representing scale of the object.\n * @param {number} rotation A number representing angular rotation (in degrees).\n ", "start": 439, "end": 735, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 18, "column": 7 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A GameObject which exists across scenes. \n * \n * Objects which derive PersistentObjects do not belong to any one scene. \n * If the derived object is intended to be rendered cross scene, the renderable component's\n * viewports must be reassigned on scene changes.\n ", "start": 102, "end": 375, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 10, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A GameObject which exists across scenes. \n * \n * Objects which derive PersistentObjects do not belong to any one scene. \n * If the derived object is intended to be rendered cross scene, the renderable component's\n * viewports must be reassigned on scene changes.\n ", "start": 102, "end": 375, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 10, "column": 3 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A GameObject which exists across scenes. \n * \n * Objects which derive PersistentObjects do not belong to any one scene. \n * If the derived object is intended to be rendered cross scene, the renderable component's\n * viewports must be reassigned on scene changes.\n ", "start": 102, "end": 375, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Default position, size and rotation of the Object.\n * \n * @param {Point} position A point of creation in the world.\n * @param {Point} size A point representing scale of the object.\n * @param {number} rotation A number representing angular rotation (in degrees).\n ", "start": 439, "end": 735, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 18, "column": 7 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "GameObject", "start": 7, "end": 17, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 18, "end": 22, "loc": { "start": { "line": 1, "column": 18 }, "end": { "line": 1, "column": 22 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./GameObject", "start": 23, "end": 37, "loc": { "start": { "line": 1, "column": 23 }, "end": { "line": 1, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 37, "end": 38, "loc": { "start": { "line": 1, "column": 37 }, "end": { "line": 1, "column": 38 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 39, "end": 45, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "PersistentManager", "start": 46, "end": 63, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 64, "end": 68, "loc": { "start": { "line": 2, "column": 25 }, "end": { "line": 2, "column": 29 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "../manager/PersistentManager", "start": 69, "end": 99, "loc": { "start": { "line": 2, "column": 30 }, "end": { "line": 2, "column": 60 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 99, "end": 100, "loc": { "start": { "line": 2, "column": 60 }, "end": { "line": 2, "column": 61 } } }, { "type": "CommentBlock", "value": "*\n * A GameObject which exists across scenes. \n * \n * Objects which derive PersistentObjects do not belong to any one scene. \n * If the derived object is intended to be rendered cross scene, the renderable component's\n * viewports must be reassigned on scene changes.\n ", "start": 102, "end": 375, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 10, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 376, "end": 382, "loc": { "start": { "line": 11, "column": 0 }, "end": { "line": 11, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 383, "end": 390, "loc": { "start": { "line": 11, "column": 7 }, "end": { "line": 11, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 391, "end": 396, "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "PersistentObject", "start": 397, "end": 413, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 37 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 414, "end": 421, "loc": { "start": { "line": 11, "column": 38 }, "end": { "line": 11, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "GameObject", "start": 422, "end": 432, "loc": { "start": { "line": 11, "column": 46 }, "end": { "line": 11, "column": 56 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 433, "end": 434, "loc": { "start": { "line": 11, "column": 57 }, "end": { "line": 11, "column": 58 } } }, { "type": "CommentBlock", "value": "*\n * Default position, size and rotation of the Object.\n * \n * @param {Point} position A point of creation in the world.\n * @param {Point} size A point representing scale of the object.\n * @param {number} rotation A number representing angular rotation (in degrees).\n ", "start": 439, "end": 735, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 18, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 740, "end": 751, "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 751, "end": 752, "loc": { "start": { "line": 19, "column": 15 }, "end": { "line": 19, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "position", "start": 752, "end": 760, "loc": { "start": { "line": 19, "column": 16 }, "end": { "line": 19, "column": 24 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 761, "end": 762, "loc": { "start": { "line": 19, "column": 25 }, "end": { "line": 19, "column": 26 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 763, "end": 766, "loc": { "start": { "line": 19, "column": 27 }, "end": { "line": 19, "column": 30 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Point", "start": 767, "end": 772, "loc": { "start": { "line": 19, "column": 31 }, "end": { "line": 19, "column": 36 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 772, "end": 773, "loc": { "start": { "line": 19, "column": 36 }, "end": { "line": 19, "column": 37 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 773, "end": 774, "loc": { "start": { "line": 19, "column": 37 }, "end": { "line": 19, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 774, "end": 775, "loc": { "start": { "line": 19, "column": 38 }, "end": { "line": 19, "column": 39 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 776, "end": 777, "loc": { "start": { "line": 19, "column": 40 }, "end": { "line": 19, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 777, "end": 778, "loc": { "start": { "line": 19, "column": 41 }, "end": { "line": 19, "column": 42 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 779, "end": 780, "loc": { "start": { "line": 19, "column": 43 }, "end": { "line": 19, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 780, "end": 781, "loc": { "start": { "line": 19, "column": 44 }, "end": { "line": 19, "column": 45 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 781, "end": 782, "loc": { "start": { "line": 19, "column": 45 }, "end": { "line": 19, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "si