yjs/docs/ast/source/Util/simpleDiff.js.json
2018-04-27 18:45:01 +02:00

6024 lines
156 KiB
JSON

{
"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
}
}
}
]
}