{ "type": "File", "start": 0, "end": 1611, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 48, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1611, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 48, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ExportDefaultDeclaration", "start": 968, "end": 1610, "loc": { "start": { "line": 30, "column": 0 }, "end": { "line": 47, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 983, "end": 1610, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 47, "column": 1 } }, "id": { "type": "Identifier", "start": 992, "end": 1002, "loc": { "start": { "line": 30, "column": 24 }, "end": { "line": 30, "column": 34 }, "identifierName": "simpleDiff" }, "name": "simpleDiff", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1004, "end": 1005, "loc": { "start": { "line": 30, "column": 36 }, "end": { "line": 30, "column": 37 }, "identifierName": "a" }, "name": "a" }, { "type": "Identifier", "start": 1007, "end": 1008, "loc": { "start": { "line": 30, "column": 39 }, "end": { "line": 30, "column": 40 }, "identifierName": "b" }, "name": "b" } ], "body": { "type": "BlockStatement", "start": 1010, "end": 1610, "loc": { "start": { "line": 30, "column": 42 }, "end": { "line": 47, "column": 1 } }, "body": [ { "type": "VariableDeclaration", "start": 1014, "end": 1026, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 14 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1018, "end": 1026, "loc": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": 14 } }, "id": { "type": "Identifier", "start": 1018, "end": 1022, "loc": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": 10 }, "identifierName": "left" }, "name": "left" }, "init": { "type": "NumericLiteral", "start": 1025, "end": 1026, "loc": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 14 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0, "leadingComments": null, "trailingComments": null }, "trailingComments": null } ], "kind": "let", "trailingComments": [ { "type": "CommentLine", "value": " number of same characters counting from left", "start": 1027, "end": 1074, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 62 } } } ] }, { "type": "VariableDeclaration", "start": 1077, "end": 1090, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 15 } }, "declarations": [ { "type": "VariableDeclarator", "start": 1081, "end": 1090, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 15 } }, "id": { "type": "Identifier", "start": 1081, "end": 1086, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 11 }, "identifierName": "right" }, "name": "right", "leadingComments": null }, "init": { "type": "NumericLiteral", "start": 1089, "end": 1090, "loc": { "start": { "line": 32, "column": 14 }, "end": { "line": 32, "column": 15 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0, "leadingComments": null, "trailingComments": null }, "leadingComments": null, "trailingComments": null } ], "kind": "let", "leadingComments": [ { "type": "CommentLine", "value": " number of same characters counting from left", "start": 1027, "end": 1074, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 62 } } } ], "trailingComments": [ { "type": "CommentLine", "value": " number of same characters counting from right", "start": 1091, "end": 1139, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 64 } } } ] }, { "type": "WhileStatement", "start": 1142, "end": 1224, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 35, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 1149, "end": 1206, "loc": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 66 } }, "left": { "type": "LogicalExpression", "start": 1149, "end": 1183, "loc": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 43 } }, "left": { "type": "BinaryExpression", "start": 1149, "end": 1164, "loc": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 24 } }, "left": { "type": "Identifier", "start": 1149, "end": 1153, "loc": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 13 }, "identifierName": "left" }, "name": "left", "leadingComments": null }, "operator": "<", "right": { "type": "MemberExpression", "start": 1156, "end": 1164, "loc": { "start": { "line": 33, "column": 16 }, "end": { "line": 33, "column": 24 } }, "object": { "type": "Identifier", "start": 1156, "end": 1157, "loc": { "start": { "line": 33, "column": 16 }, "end": { "line": 33, "column": 17 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1158, "end": 1164, "loc": { "start": { "line": 33, "column": 18 }, "end": { "line": 33, "column": 24 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "leadingComments": null }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 1168, "end": 1183, "loc": { "start": { "line": 33, "column": 28 }, "end": { "line": 33, "column": 43 } }, "left": { "type": "Identifier", "start": 1168, "end": 1172, "loc": { "start": { "line": 33, "column": 28 }, "end": { "line": 33, "column": 32 }, "identifierName": "left" }, "name": "left" }, "operator": "<", "right": { "type": "MemberExpression", "start": 1175, "end": 1183, "loc": { "start": { "line": 33, "column": 35 }, "end": { "line": 33, "column": 43 } }, "object": { "type": "Identifier", "start": 1175, "end": 1176, "loc": { "start": { "line": 33, "column": 35 }, "end": { "line": 33, "column": 36 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1177, "end": 1183, "loc": { "start": { "line": 33, "column": 37 }, "end": { "line": 33, "column": 43 }, "identifierName": "length" }, "name": "length" }, "computed": false } }, "leadingComments": null }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 1187, "end": 1206, "loc": { "start": { "line": 33, "column": 47 }, "end": { "line": 33, "column": 66 } }, "left": { "type": "MemberExpression", "start": 1187, "end": 1194, "loc": { "start": { "line": 33, "column": 47 }, "end": { "line": 33, "column": 54 } }, "object": { "type": "Identifier", "start": 1187, "end": 1188, "loc": { "start": { "line": 33, "column": 47 }, "end": { "line": 33, "column": 48 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1189, "end": 1193, "loc": { "start": { "line": 33, "column": 49 }, "end": { "line": 33, "column": 53 }, "identifierName": "left" }, "name": "left" }, "computed": true }, "operator": "===", "right": { "type": "MemberExpression", "start": 1199, "end": 1206, "loc": { "start": { "line": 33, "column": 59 }, "end": { "line": 33, "column": 66 } }, "object": { "type": "Identifier", "start": 1199, "end": 1200, "loc": { "start": { "line": 33, "column": 59 }, "end": { "line": 33, "column": 60 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1201, "end": 1205, "loc": { "start": { "line": 33, "column": 61 }, "end": { "line": 33, "column": 65 }, "identifierName": "left" }, "name": "left" }, "computed": true } }, "leadingComments": null }, "body": { "type": "BlockStatement", "start": 1208, "end": 1224, "loc": { "start": { "line": 33, "column": 68 }, "end": { "line": 35, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 1214, "end": 1220, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 10 } }, "expression": { "type": "UpdateExpression", "start": 1214, "end": 1220, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 10 } }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 1214, "end": 1218, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 8 }, "identifierName": "left" }, "name": "left" } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentLine", "value": " number of same characters counting from right", "start": 1091, "end": 1139, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 64 } } } ] }, { "type": "IfStatement", "start": 1227, "end": 1451, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 41, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 1231, "end": 1269, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 44 } }, "left": { "type": "BinaryExpression", "start": 1231, "end": 1248, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 23 } }, "left": { "type": "Identifier", "start": 1231, "end": 1235, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 10 }, "identifierName": "left" }, "name": "left" }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1240, "end": 1248, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 23 } }, "object": { "type": "Identifier", "start": 1240, "end": 1241, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 16 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1242, "end": 1248, "loc": { "start": { "line": 36, "column": 17 }, "end": { "line": 36, "column": 23 }, "identifierName": "length" }, "name": "length" }, "computed": false } }, "operator": "||", "right": { "type": "BinaryExpression", "start": 1252, "end": 1269, "loc": { "start": { "line": 36, "column": 27 }, "end": { "line": 36, "column": 44 } }, "left": { "type": "Identifier", "start": 1252, "end": 1256, "loc": { "start": { "line": 36, "column": 27 }, "end": { "line": 36, "column": 31 }, "identifierName": "left" }, "name": "left" }, "operator": "!==", "right": { "type": "MemberExpression", "start": 1261, "end": 1269, "loc": { "start": { "line": 36, "column": 36 }, "end": { "line": 36, "column": 44 } }, "object": { "type": "Identifier", "start": 1261, "end": 1262, "loc": { "start": { "line": 36, "column": 36 }, "end": { "line": 36, "column": 37 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1263, "end": 1269, "loc": { "start": { "line": 36, "column": 38 }, "end": { "line": 36, "column": 44 }, "identifierName": "length" }, "name": "length" }, "computed": false } } }, "consequent": { "type": "BlockStatement", "start": 1271, "end": 1451, "loc": { "start": { "line": 36, "column": 46 }, "end": { "line": 41, "column": 3 } }, "body": [ { "type": "WhileStatement", "start": 1312, "end": 1447, "loc": { "start": { "line": 38, "column": 4 }, "end": { "line": 40, "column": 5 } }, "test": { "type": "LogicalExpression", "start": 1319, "end": 1424, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 116 } }, "left": { "type": "LogicalExpression", "start": 1319, "end": 1369, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 61 } }, "left": { "type": "BinaryExpression", "start": 1319, "end": 1342, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 34 } }, "left": { "type": "BinaryExpression", "start": 1319, "end": 1331, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 23 } }, "left": { "type": "Identifier", "start": 1319, "end": 1324, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 16 }, "identifierName": "right" }, "name": "right", "leadingComments": null }, "operator": "+", "right": { "type": "Identifier", "start": 1327, "end": 1331, "loc": { "start": { "line": 38, "column": 19 }, "end": { "line": 38, "column": 23 }, "identifierName": "left" }, "name": "left" }, "leadingComments": null }, "operator": "<", "right": { "type": "MemberExpression", "start": 1334, "end": 1342, "loc": { "start": { "line": 38, "column": 26 }, "end": { "line": 38, "column": 34 } }, "object": { "type": "Identifier", "start": 1334, "end": 1335, "loc": { "start": { "line": 38, "column": 26 }, "end": { "line": 38, "column": 27 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1336, "end": 1342, "loc": { "start": { "line": 38, "column": 28 }, "end": { "line": 38, "column": 34 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "leadingComments": null }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 1346, "end": 1369, "loc": { "start": { "line": 38, "column": 38 }, "end": { "line": 38, "column": 61 } }, "left": { "type": "BinaryExpression", "start": 1346, "end": 1358, "loc": { "start": { "line": 38, "column": 38 }, "end": { "line": 38, "column": 50 } }, "left": { "type": "Identifier", "start": 1346, "end": 1351, "loc": { "start": { "line": 38, "column": 38 }, "end": { "line": 38, "column": 43 }, "identifierName": "right" }, "name": "right" }, "operator": "+", "right": { "type": "Identifier", "start": 1354, "end": 1358, "loc": { "start": { "line": 38, "column": 46 }, "end": { "line": 38, "column": 50 }, "identifierName": "left" }, "name": "left" } }, "operator": "<", "right": { "type": "MemberExpression", "start": 1361, "end": 1369, "loc": { "start": { "line": 38, "column": 53 }, "end": { "line": 38, "column": 61 } }, "object": { "type": "Identifier", "start": 1361, "end": 1362, "loc": { "start": { "line": 38, "column": 53 }, "end": { "line": 38, "column": 54 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1363, "end": 1369, "loc": { "start": { "line": 38, "column": 55 }, "end": { "line": 38, "column": 61 }, "identifierName": "length" }, "name": "length" }, "computed": false } }, "leadingComments": null }, "operator": "&&", "right": { "type": "BinaryExpression", "start": 1373, "end": 1424, "loc": { "start": { "line": 38, "column": 65 }, "end": { "line": 38, "column": 116 } }, "left": { "type": "MemberExpression", "start": 1373, "end": 1396, "loc": { "start": { "line": 38, "column": 65 }, "end": { "line": 38, "column": 88 } }, "object": { "type": "Identifier", "start": 1373, "end": 1374, "loc": { "start": { "line": 38, "column": 65 }, "end": { "line": 38, "column": 66 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "BinaryExpression", "start": 1375, "end": 1395, "loc": { "start": { "line": 38, "column": 67 }, "end": { "line": 38, "column": 87 } }, "left": { "type": "BinaryExpression", "start": 1375, "end": 1391, "loc": { "start": { "line": 38, "column": 67 }, "end": { "line": 38, "column": 83 } }, "left": { "type": "MemberExpression", "start": 1375, "end": 1383, "loc": { "start": { "line": 38, "column": 67 }, "end": { "line": 38, "column": 75 } }, "object": { "type": "Identifier", "start": 1375, "end": 1376, "loc": { "start": { "line": 38, "column": 67 }, "end": { "line": 38, "column": 68 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1377, "end": 1383, "loc": { "start": { "line": 38, "column": 69 }, "end": { "line": 38, "column": 75 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": "-", "right": { "type": "Identifier", "start": 1386, "end": 1391, "loc": { "start": { "line": 38, "column": 78 }, "end": { "line": 38, "column": 83 }, "identifierName": "right" }, "name": "right" } }, "operator": "-", "right": { "type": "NumericLiteral", "start": 1394, "end": 1395, "loc": { "start": { "line": 38, "column": 86 }, "end": { "line": 38, "column": 87 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, "computed": true }, "operator": "===", "right": { "type": "MemberExpression", "start": 1401, "end": 1424, "loc": { "start": { "line": 38, "column": 93 }, "end": { "line": 38, "column": 116 } }, "object": { "type": "Identifier", "start": 1401, "end": 1402, "loc": { "start": { "line": 38, "column": 93 }, "end": { "line": 38, "column": 94 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "BinaryExpression", "start": 1403, "end": 1423, "loc": { "start": { "line": 38, "column": 95 }, "end": { "line": 38, "column": 115 } }, "left": { "type": "BinaryExpression", "start": 1403, "end": 1419, "loc": { "start": { "line": 38, "column": 95 }, "end": { "line": 38, "column": 111 } }, "left": { "type": "MemberExpression", "start": 1403, "end": 1411, "loc": { "start": { "line": 38, "column": 95 }, "end": { "line": 38, "column": 103 } }, "object": { "type": "Identifier", "start": 1403, "end": 1404, "loc": { "start": { "line": 38, "column": 95 }, "end": { "line": 38, "column": 96 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1405, "end": 1411, "loc": { "start": { "line": 38, "column": 97 }, "end": { "line": 38, "column": 103 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": "-", "right": { "type": "Identifier", "start": 1414, "end": 1419, "loc": { "start": { "line": 38, "column": 106 }, "end": { "line": 38, "column": 111 }, "identifierName": "right" }, "name": "right" } }, "operator": "-", "right": { "type": "NumericLiteral", "start": 1422, "end": 1423, "loc": { "start": { "line": 38, "column": 114 }, "end": { "line": 38, "column": 115 } }, "extra": { "rawValue": 1, "raw": "1" }, "value": 1 } }, "computed": true } }, "leadingComments": null }, "body": { "type": "BlockStatement", "start": 1426, "end": 1447, "loc": { "start": { "line": 38, "column": 118 }, "end": { "line": 40, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 1434, "end": 1441, "loc": { "start": { "line": 39, "column": 6 }, "end": { "line": 39, "column": 13 } }, "expression": { "type": "UpdateExpression", "start": 1434, "end": 1441, "loc": { "start": { "line": 39, "column": 6 }, "end": { "line": 39, "column": 13 } }, "operator": "++", "prefix": false, "argument": { "type": "Identifier", "start": 1434, "end": 1439, "loc": { "start": { "line": 39, "column": 6 }, "end": { "line": 39, "column": 11 }, "identifierName": "right" }, "name": "right" } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentLine", "value": " Only check right if a !== b", "start": 1277, "end": 1307, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": 34 } } } ] } ], "directives": [] }, "alternate": null }, { "type": "ReturnStatement", "start": 1454, "end": 1608, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 46, "column": 3 } }, "argument": { "type": "ObjectExpression", "start": 1461, "end": 1608, "loc": { "start": { "line": 42, "column": 9 }, "end": { "line": 46, "column": 3 } }, "properties": [ { "type": "ObjectProperty", "start": 1467, "end": 1476, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 13 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1467, "end": 1470, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 7 }, "identifierName": "pos" }, "name": "pos" }, "value": { "type": "Identifier", "start": 1472, "end": 1476, "loc": { "start": { "line": 43, "column": 9 }, "end": { "line": 43, "column": 13 }, "identifierName": "left" }, "name": "left" } }, { "type": "ObjectProperty", "start": 1528, "end": 1559, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 35 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1528, "end": 1534, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 10 }, "identifierName": "remove" }, "name": "remove", "leadingComments": null }, "value": { "type": "BinaryExpression", "start": 1536, "end": 1559, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 35 } }, "left": { "type": "BinaryExpression", "start": 1536, "end": 1551, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 27 } }, "left": { "type": "MemberExpression", "start": 1536, "end": 1544, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 20 } }, "object": { "type": "Identifier", "start": 1536, "end": 1537, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 13 }, "identifierName": "a" }, "name": "a" }, "property": { "type": "Identifier", "start": 1538, "end": 1544, "loc": { "start": { "line": 44, "column": 14 }, "end": { "line": 44, "column": 20 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": "-", "right": { "type": "Identifier", "start": 1547, "end": 1551, "loc": { "start": { "line": 44, "column": 23 }, "end": { "line": 44, "column": 27 }, "identifierName": "left" }, "name": "left" } }, "operator": "-", "right": { "type": "Identifier", "start": 1554, "end": 1559, "loc": { "start": { "line": 44, "column": 30 }, "end": { "line": 44, "column": 35 }, "identifierName": "right" }, "name": "right" } }, "leadingComments": [ { "type": "CommentLine", "value": " TODO: rename to index (also in type above)", "start": 1478, "end": 1523, "loc": { "start": { "line": 43, "column": 15 }, "end": { "line": 43, "column": 60 } } } ] }, { "type": "ObjectProperty", "start": 1565, "end": 1604, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 43 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 1565, "end": 1571, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 10 }, "identifierName": "insert" }, "name": "insert" }, "value": { "type": "CallExpression", "start": 1573, "end": 1604, "loc": { "start": { "line": 45, "column": 12 }, "end": { "line": 45, "column": 43 } }, "callee": { "type": "MemberExpression", "start": 1573, "end": 1580, "loc": { "start": { "line": 45, "column": 12 }, "end": { "line": 45, "column": 19 } }, "object": { "type": "Identifier", "start": 1573, "end": 1574, "loc": { "start": { "line": 45, "column": 12 }, "end": { "line": 45, "column": 13 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1575, "end": 1580, "loc": { "start": { "line": 45, "column": 14 }, "end": { "line": 45, "column": 19 }, "identifierName": "slice" }, "name": "slice" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1581, "end": 1585, "loc": { "start": { "line": 45, "column": 20 }, "end": { "line": 45, "column": 24 }, "identifierName": "left" }, "name": "left" }, { "type": "BinaryExpression", "start": 1587, "end": 1603, "loc": { "start": { "line": 45, "column": 26 }, "end": { "line": 45, "column": 42 } }, "left": { "type": "MemberExpression", "start": 1587, "end": 1595, "loc": { "start": { "line": 45, "column": 26 }, "end": { "line": 45, "column": 34 } }, "object": { "type": "Identifier", "start": 1587, "end": 1588, "loc": { "start": { "line": 45, "column": 26 }, "end": { "line": 45, "column": 27 }, "identifierName": "b" }, "name": "b" }, "property": { "type": "Identifier", "start": 1589, "end": 1595, "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 45, "column": 34 }, "identifierName": "length" }, "name": "length" }, "computed": false }, "operator": "-", "right": { "type": "Identifier", "start": 1598, "end": 1603, "loc": { "start": { "line": 45, "column": 37 }, "end": { "line": 45, "column": 42 }, "identifierName": "right" }, "name": "right" } } ] } } ] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A SimpleDiff describes a change on a String.\n *\n * @example\n * console.log(a) // the old value\n * console.log(b) // the updated value\n * // Apply changes of diff (pseudocode)\n * a.remove(diff.pos, diff.remove) // Remove `diff.remove` characters\n * a.insert(diff.pos, diff.insert) // Insert `diff.insert`\n * a === b // values match\n *\n * @typedef {Object} SimpleDiff\n * @property {Number} pos The index where changes were applied\n * @property {Number} delete The number of characters to delete starting\n * at `index`.\n * @property {String} insert The new text to insert at `index` after applying\n * `delete`\n ", "start": 1, "end": 677, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 19, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Create a diff between two strings. This diff implementation is highly\n * efficient, but not very sophisticated.\n *\n * @public\n * @param {String} a The old version of the string\n * @param {String} b The updated version of the string\n * @return {SimpleDiff} The diff description.\n ", "start": 679, "end": 967, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 29, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A SimpleDiff describes a change on a String.\n *\n * @example\n * console.log(a) // the old value\n * console.log(b) // the updated value\n * // Apply changes of diff (pseudocode)\n * a.remove(diff.pos, diff.remove) // Remove `diff.remove` characters\n * a.insert(diff.pos, diff.insert) // Insert `diff.insert`\n * a === b // values match\n *\n * @typedef {Object} SimpleDiff\n * @property {Number} pos The index where changes were applied\n * @property {Number} delete The number of characters to delete starting\n * at `index`.\n * @property {String} insert The new text to insert at `index` after applying\n * `delete`\n ", "start": 1, "end": 677, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 19, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Create a diff between two strings. This diff implementation is highly\n * efficient, but not very sophisticated.\n *\n * @public\n * @param {String} a The old version of the string\n * @param {String} b The updated version of the string\n * @return {SimpleDiff} The diff description.\n ", "start": 679, "end": 967, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 29, "column": 3 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A SimpleDiff describes a change on a String.\n *\n * @example\n * console.log(a) // the old value\n * console.log(b) // the updated value\n * // Apply changes of diff (pseudocode)\n * a.remove(diff.pos, diff.remove) // Remove `diff.remove` characters\n * a.insert(diff.pos, diff.insert) // Insert `diff.insert`\n * a === b // values match\n *\n * @typedef {Object} SimpleDiff\n * @property {Number} pos The index where changes were applied\n * @property {Number} delete The number of characters to delete starting\n * at `index`.\n * @property {String} insert The new text to insert at `index` after applying\n * `delete`\n ", "start": 1, "end": 677, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 19, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Create a diff between two strings. This diff implementation is highly\n * efficient, but not very sophisticated.\n *\n * @public\n * @param {String} a The old version of the string\n * @param {String} b The updated version of the string\n * @return {SimpleDiff} The diff description.\n ", "start": 679, "end": 967, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 29, "column": 3 } } }, { "type": "CommentLine", "value": " number of same characters counting from left", "start": 1027, "end": 1074, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 62 } } }, { "type": "CommentLine", "value": " number of same characters counting from right", "start": 1091, "end": 1139, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 64 } } }, { "type": "CommentLine", "value": " Only check right if a !== b", "start": 1277, "end": 1307, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": 34 } } }, { "type": "CommentLine", "value": " TODO: rename to index (also in type above)", "start": 1478, "end": 1523, "loc": { "start": { "line": 43, "column": 15 }, "end": { "line": 43, "column": 60 } } } ], "tokens": [ { "type": "CommentBlock", "value": "*\n * A SimpleDiff describes a change on a String.\n *\n * @example\n * console.log(a) // the old value\n * console.log(b) // the updated value\n * // Apply changes of diff (pseudocode)\n * a.remove(diff.pos, diff.remove) // Remove `diff.remove` characters\n * a.insert(diff.pos, diff.insert) // Insert `diff.insert`\n * a === b // values match\n *\n * @typedef {Object} SimpleDiff\n * @property {Number} pos The index where changes were applied\n * @property {Number} delete The number of characters to delete starting\n * at `index`.\n * @property {String} insert The new text to insert at `index` after applying\n * `delete`\n ", "start": 1, "end": 677, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 19, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * Create a diff between two strings. This diff implementation is highly\n * efficient, but not very sophisticated.\n *\n * @public\n * @param {String} a The old version of the string\n * @param {String} b The updated version of the string\n * @return {SimpleDiff} The diff description.\n ", "start": 679, "end": 967, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 29, "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": 968, "end": 974, "loc": { "start": { "line": 30, "column": 0 }, "end": { "line": 30, "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": 975, "end": 982, "loc": { "start": { "line": 30, "column": 7 }, "end": { "line": 30, "column": 14 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 983, "end": 991, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "simpleDiff", "start": 992, "end": 1002, "loc": { "start": { "line": 30, "column": 24 }, "end": { "line": 30, "column": 34 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1003, "end": 1004, "loc": { "start": { "line": 30, "column": 35 }, "end": { "line": 30, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1004, "end": 1005, "loc": { "start": { "line": 30, "column": 36 }, "end": { "line": 30, "column": 37 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1005, "end": 1006, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 30, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1007, "end": 1008, "loc": { "start": { "line": 30, "column": 39 }, "end": { "line": 30, "column": 40 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1008, "end": 1009, "loc": { "start": { "line": 30, "column": 40 }, "end": { "line": 30, "column": 41 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1010, "end": 1011, "loc": { "start": { "line": 30, "column": 42 }, "end": { "line": 30, "column": 43 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 1014, "end": 1017, "loc": { "start": { "line": 31, "column": 2 }, "end": { "line": 31, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1018, "end": 1022, "loc": { "start": { "line": 31, "column": 6 }, "end": { "line": 31, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1023, "end": 1024, "loc": { "start": { "line": 31, "column": 11 }, "end": { "line": 31, "column": 12 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1025, "end": 1026, "loc": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 14 } } }, { "type": "CommentLine", "value": " number of same characters counting from left", "start": 1027, "end": 1074, "loc": { "start": { "line": 31, "column": 15 }, "end": { "line": 31, "column": 62 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 1077, "end": 1080, "loc": { "start": { "line": 32, "column": 2 }, "end": { "line": 32, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1081, "end": 1086, "loc": { "start": { "line": 32, "column": 6 }, "end": { "line": 32, "column": 11 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1087, "end": 1088, "loc": { "start": { "line": 32, "column": 12 }, "end": { "line": 32, "column": 13 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 1089, "end": 1090, "loc": { "start": { "line": 32, "column": 14 }, "end": { "line": 32, "column": 15 } } }, { "type": "CommentLine", "value": " number of same characters counting from right", "start": 1091, "end": 1139, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 64 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 1142, "end": 1147, "loc": { "start": { "line": 33, "column": 2 }, "end": { "line": 33, "column": 7 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1148, "end": 1149, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1149, "end": 1153, "loc": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 13 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 1154, "end": 1155, "loc": { "start": { "line": 33, "column": 14 }, "end": { "line": 33, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1156, "end": 1157, "loc": { "start": { "line": 33, "column": 16 }, "end": { "line": 33, "column": 17 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1157, "end": 1158, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1158, "end": 1164, "loc": { "start": { "line": 33, "column": 18 }, "end": { "line": 33, "column": 24 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1165, "end": 1167, "loc": { "start": { "line": 33, "column": 25 }, "end": { "line": 33, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1168, "end": 1172, "loc": { "start": { "line": 33, "column": 28 }, "end": { "line": 33, "column": 32 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 1173, "end": 1174, "loc": { "start": { "line": 33, "column": 33 }, "end": { "line": 33, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1175, "end": 1176, "loc": { "start": { "line": 33, "column": 35 }, "end": { "line": 33, "column": 36 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1176, "end": 1177, "loc": { "start": { "line": 33, "column": 36 }, "end": { "line": 33, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1177, "end": 1183, "loc": { "start": { "line": 33, "column": 37 }, "end": { "line": 33, "column": 43 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1184, "end": 1186, "loc": { "start": { "line": 33, "column": 44 }, "end": { "line": 33, "column": 46 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1187, "end": 1188, "loc": { "start": { "line": 33, "column": 47 }, "end": { "line": 33, "column": 48 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1188, "end": 1189, "loc": { "start": { "line": 33, "column": 48 }, "end": { "line": 33, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1189, "end": 1193, "loc": { "start": { "line": 33, "column": 49 }, "end": { "line": 33, "column": 53 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1193, "end": 1194, "loc": { "start": { "line": 33, "column": 53 }, "end": { "line": 33, "column": 54 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 1195, "end": 1198, "loc": { "start": { "line": 33, "column": 55 }, "end": { "line": 33, "column": 58 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1199, "end": 1200, "loc": { "start": { "line": 33, "column": 59 }, "end": { "line": 33, "column": 60 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1200, "end": 1201, "loc": { "start": { "line": 33, "column": 60 }, "end": { "line": 33, "column": 61 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1201, "end": 1205, "loc": { "start": { "line": 33, "column": 61 }, "end": { "line": 33, "column": 65 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1205, "end": 1206, "loc": { "start": { "line": 33, "column": 65 }, "end": { "line": 33, "column": 66 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1206, "end": 1207, "loc": { "start": { "line": 33, "column": 66 }, "end": { "line": 33, "column": 67 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1208, "end": 1209, "loc": { "start": { "line": 33, "column": 68 }, "end": { "line": 33, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1214, "end": 1218, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 8 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 1218, "end": 1220, "loc": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 10 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1223, "end": 1224, "loc": { "start": { "line": 35, "column": 2 }, "end": { "line": 35, "column": 3 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 1227, "end": 1229, "loc": { "start": { "line": 36, "column": 2 }, "end": { "line": 36, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1230, "end": 1231, "loc": { "start": { "line": 36, "column": 5 }, "end": { "line": 36, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1231, "end": 1235, "loc": { "start": { "line": 36, "column": 6 }, "end": { "line": 36, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1236, "end": 1239, "loc": { "start": { "line": 36, "column": 11 }, "end": { "line": 36, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1240, "end": 1241, "loc": { "start": { "line": 36, "column": 15 }, "end": { "line": 36, "column": 16 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1241, "end": 1242, "loc": { "start": { "line": 36, "column": 16 }, "end": { "line": 36, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1242, "end": 1248, "loc": { "start": { "line": 36, "column": 17 }, "end": { "line": 36, "column": 23 } } }, { "type": { "label": "||", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 1, "updateContext": null }, "value": "||", "start": 1249, "end": 1251, "loc": { "start": { "line": 36, "column": 24 }, "end": { "line": 36, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1252, "end": 1256, "loc": { "start": { "line": 36, "column": 27 }, "end": { "line": 36, "column": 31 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 1257, "end": 1260, "loc": { "start": { "line": 36, "column": 32 }, "end": { "line": 36, "column": 35 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1261, "end": 1262, "loc": { "start": { "line": 36, "column": 36 }, "end": { "line": 36, "column": 37 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1262, "end": 1263, "loc": { "start": { "line": 36, "column": 37 }, "end": { "line": 36, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1263, "end": 1269, "loc": { "start": { "line": 36, "column": 38 }, "end": { "line": 36, "column": 44 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1269, "end": 1270, "loc": { "start": { "line": 36, "column": 44 }, "end": { "line": 36, "column": 45 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1271, "end": 1272, "loc": { "start": { "line": 36, "column": 46 }, "end": { "line": 36, "column": 47 } } }, { "type": "CommentLine", "value": " Only check right if a !== b", "start": 1277, "end": 1307, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": 34 } } }, { "type": { "label": "while", "keyword": "while", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "while", "start": 1312, "end": 1317, "loc": { "start": { "line": 38, "column": 4 }, "end": { "line": 38, "column": 9 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1318, "end": 1319, "loc": { "start": { "line": 38, "column": 10 }, "end": { "line": 38, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1319, "end": 1324, "loc": { "start": { "line": 38, "column": 11 }, "end": { "line": 38, "column": 16 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1325, "end": 1326, "loc": { "start": { "line": 38, "column": 17 }, "end": { "line": 38, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1327, "end": 1331, "loc": { "start": { "line": 38, "column": 19 }, "end": { "line": 38, "column": 23 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 1332, "end": 1333, "loc": { "start": { "line": 38, "column": 24 }, "end": { "line": 38, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1334, "end": 1335, "loc": { "start": { "line": 38, "column": 26 }, "end": { "line": 38, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1335, "end": 1336, "loc": { "start": { "line": 38, "column": 27 }, "end": { "line": 38, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1336, "end": 1342, "loc": { "start": { "line": 38, "column": 28 }, "end": { "line": 38, "column": 34 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1343, "end": 1345, "loc": { "start": { "line": 38, "column": 35 }, "end": { "line": 38, "column": 37 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1346, "end": 1351, "loc": { "start": { "line": 38, "column": 38 }, "end": { "line": 38, "column": 43 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 1352, "end": 1353, "loc": { "start": { "line": 38, "column": 44 }, "end": { "line": 38, "column": 45 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1354, "end": 1358, "loc": { "start": { "line": 38, "column": 46 }, "end": { "line": 38, "column": 50 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 1359, "end": 1360, "loc": { "start": { "line": 38, "column": 51 }, "end": { "line": 38, "column": 52 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1361, "end": 1362, "loc": { "start": { "line": 38, "column": 53 }, "end": { "line": 38, "column": 54 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1362, "end": 1363, "loc": { "start": { "line": 38, "column": 54 }, "end": { "line": 38, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1363, "end": 1369, "loc": { "start": { "line": 38, "column": 55 }, "end": { "line": 38, "column": 61 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 1370, "end": 1372, "loc": { "start": { "line": 38, "column": 62 }, "end": { "line": 38, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1373, "end": 1374, "loc": { "start": { "line": 38, "column": 65 }, "end": { "line": 38, "column": 66 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1374, "end": 1375, "loc": { "start": { "line": 38, "column": 66 }, "end": { "line": 38, "column": 67 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1375, "end": 1376, "loc": { "start": { "line": 38, "column": 67 }, "end": { "line": 38, "column": 68 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1376, "end": 1377, "loc": { "start": { "line": 38, "column": 68 }, "end": { "line": 38, "column": 69 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1377, "end": 1383, "loc": { "start": { "line": 38, "column": 69 }, "end": { "line": 38, "column": 75 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1384, "end": 1385, "loc": { "start": { "line": 38, "column": 76 }, "end": { "line": 38, "column": 77 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1386, "end": 1391, "loc": { "start": { "line": 38, "column": 78 }, "end": { "line": 38, "column": 83 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1392, "end": 1393, "loc": { "start": { "line": 38, "column": 84 }, "end": { "line": 38, "column": 85 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1394, "end": 1395, "loc": { "start": { "line": 38, "column": 86 }, "end": { "line": 38, "column": 87 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1395, "end": 1396, "loc": { "start": { "line": 38, "column": 87 }, "end": { "line": 38, "column": 88 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 1397, "end": 1400, "loc": { "start": { "line": 38, "column": 89 }, "end": { "line": 38, "column": 92 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1401, "end": 1402, "loc": { "start": { "line": 38, "column": 93 }, "end": { "line": 38, "column": 94 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1402, "end": 1403, "loc": { "start": { "line": 38, "column": 94 }, "end": { "line": 38, "column": 95 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1403, "end": 1404, "loc": { "start": { "line": 38, "column": 95 }, "end": { "line": 38, "column": 96 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1404, "end": 1405, "loc": { "start": { "line": 38, "column": 96 }, "end": { "line": 38, "column": 97 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1405, "end": 1411, "loc": { "start": { "line": 38, "column": 97 }, "end": { "line": 38, "column": 103 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1412, "end": 1413, "loc": { "start": { "line": 38, "column": 104 }, "end": { "line": 38, "column": 105 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1414, "end": 1419, "loc": { "start": { "line": 38, "column": 106 }, "end": { "line": 38, "column": 111 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1420, "end": 1421, "loc": { "start": { "line": 38, "column": 112 }, "end": { "line": 38, "column": 113 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1, "start": 1422, "end": 1423, "loc": { "start": { "line": 38, "column": 114 }, "end": { "line": 38, "column": 115 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1423, "end": 1424, "loc": { "start": { "line": 38, "column": 115 }, "end": { "line": 38, "column": 116 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1424, "end": 1425, "loc": { "start": { "line": 38, "column": 116 }, "end": { "line": 38, "column": 117 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1426, "end": 1427, "loc": { "start": { "line": 38, "column": 118 }, "end": { "line": 38, "column": 119 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1434, "end": 1439, "loc": { "start": { "line": 39, "column": 6 }, "end": { "line": 39, "column": 11 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 1439, "end": 1441, "loc": { "start": { "line": 39, "column": 11 }, "end": { "line": 39, "column": 13 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1446, "end": 1447, "loc": { "start": { "line": 40, "column": 4 }, "end": { "line": 40, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1450, "end": 1451, "loc": { "start": { "line": 41, "column": 2 }, "end": { "line": 41, "column": 3 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 1454, "end": 1460, "loc": { "start": { "line": 42, "column": 2 }, "end": { "line": 42, "column": 8 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1461, "end": 1462, "loc": { "start": { "line": 42, "column": 9 }, "end": { "line": 42, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "pos", "start": 1467, "end": 1470, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 7 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1470, "end": 1471, "loc": { "start": { "line": 43, "column": 7 }, "end": { "line": 43, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1472, "end": 1476, "loc": { "start": { "line": 43, "column": 9 }, "end": { "line": 43, "column": 13 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1476, "end": 1477, "loc": { "start": { "line": 43, "column": 13 }, "end": { "line": 43, "column": 14 } } }, { "type": "CommentLine", "value": " TODO: rename to index (also in type above)", "start": 1478, "end": 1523, "loc": { "start": { "line": 43, "column": 15 }, "end": { "line": 43, "column": 60 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "remove", "start": 1528, "end": 1534, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 10 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1534, "end": 1535, "loc": { "start": { "line": 44, "column": 10 }, "end": { "line": 44, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "a", "start": 1536, "end": 1537, "loc": { "start": { "line": 44, "column": 12 }, "end": { "line": 44, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1537, "end": 1538, "loc": { "start": { "line": 44, "column": 13 }, "end": { "line": 44, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1538, "end": 1544, "loc": { "start": { "line": 44, "column": 14 }, "end": { "line": 44, "column": 20 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1545, "end": 1546, "loc": { "start": { "line": 44, "column": 21 }, "end": { "line": 44, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1547, "end": 1551, "loc": { "start": { "line": 44, "column": 23 }, "end": { "line": 44, "column": 27 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1552, "end": 1553, "loc": { "start": { "line": 44, "column": 28 }, "end": { "line": 44, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1554, "end": 1559, "loc": { "start": { "line": 44, "column": 30 }, "end": { "line": 44, "column": 35 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1559, "end": 1560, "loc": { "start": { "line": 44, "column": 35 }, "end": { "line": 44, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "insert", "start": 1565, "end": 1571, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 10 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1571, "end": 1572, "loc": { "start": { "line": 45, "column": 10 }, "end": { "line": 45, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1573, "end": 1574, "loc": { "start": { "line": 45, "column": 12 }, "end": { "line": 45, "column": 13 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1574, "end": 1575, "loc": { "start": { "line": 45, "column": 13 }, "end": { "line": 45, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "slice", "start": 1575, "end": 1580, "loc": { "start": { "line": 45, "column": 14 }, "end": { "line": 45, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1580, "end": 1581, "loc": { "start": { "line": 45, "column": 19 }, "end": { "line": 45, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "left", "start": 1581, "end": 1585, "loc": { "start": { "line": 45, "column": 20 }, "end": { "line": 45, "column": 24 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1585, "end": 1586, "loc": { "start": { "line": 45, "column": 24 }, "end": { "line": 45, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "b", "start": 1587, "end": 1588, "loc": { "start": { "line": 45, "column": 26 }, "end": { "line": 45, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1588, "end": 1589, "loc": { "start": { "line": 45, "column": 27 }, "end": { "line": 45, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 1589, "end": 1595, "loc": { "start": { "line": 45, "column": 28 }, "end": { "line": 45, "column": 34 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "-", "start": 1596, "end": 1597, "loc": { "start": { "line": 45, "column": 35 }, "end": { "line": 45, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "right", "start": 1598, "end": 1603, "loc": { "start": { "line": 45, "column": 37 }, "end": { "line": 45, "column": 42 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1603, "end": 1604, "loc": { "start": { "line": 45, "column": 42 }, "end": { "line": 45, "column": 43 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1607, "end": 1608, "loc": { "start": { "line": 46, "column": 2 }, "end": { "line": 46, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1609, "end": 1610, "loc": { "start": { "line": 47, "column": 0 }, "end": { "line": 47, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1611, "end": 1611, "loc": { "start": { "line": 48, "column": 0 }, "end": { "line": 48, "column": 0 } } } ] }