blob: 4d6095c98ee0083012806ff8f44702231d5c865a [file] [log] [blame]
[
{
"endPosition": "1113",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1123",
"kind": "VARIABLE",
"binding": {
"endPosition": "1118",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1117"
},
"startPosition": "1113",
"initializer": {
"endPosition": "1123",
"kind": "ARRAY_LITERAL",
"elements": [],
"startPosition": "1121"
}
},
{
"endPosition": "1147",
"kind": "VARIABLE",
"binding": {
"endPosition": "1130",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1129"
},
"startPosition": "1125",
"initializer": {
"endPosition": "1147",
"kind": "ARRAY_LITERAL",
"elements": [
{
"endPosition": "1135",
"kind": "NUMBER_LITERAL",
"value": "1",
"startPosition": "1134"
},
{
"endPosition": "1139",
"kind": "NUMBER_LITERAL",
"value": "43",
"startPosition": "1137"
},
{
"endPosition": "1142",
"kind": "NUMBER_LITERAL",
"value": "5",
"startPosition": "1141"
},
{
"endPosition": "1146",
"kind": "NUMBER_LITERAL",
"value": "45",
"startPosition": "1144"
}
],
"startPosition": "1133"
}
},
{
"endPosition": "1165",
"kind": "VARIABLE",
"binding": {
"endPosition": "1154",
"kind": "IDENTIFIER",
"name": "z",
"startPosition": "1153"
},
"startPosition": "1149",
"initializer": {
"endPosition": "1165",
"kind": "ARRAY_LITERAL",
"elements": [
{
"endPosition": "1160",
"kind": "NUMBER_LITERAL",
"value": "34",
"startPosition": "1158"
},
null,
null,
{
"endPosition": "1164",
"kind": "NUMBER_LITERAL",
"value": "4",
"startPosition": "1163"
}
],
"startPosition": "1157"
}
},
{
"endPosition": "1200",
"kind": "VARIABLE",
"binding": {
"endPosition": "1172",
"kind": "IDENTIFIER",
"name": "k",
"startPosition": "1171"
},
"startPosition": "1167",
"initializer": {
"endPosition": "1200",
"kind": "ARRAY_LITERAL",
"elements": [
{
"endPosition": "1179",
"kind": "OBJECT_LITERAL",
"startPosition": "1177",
"properties": []
},
{
"endPosition": "1189",
"kind": "OBJECT_LITERAL",
"startPosition": "1181",
"properties": [
{
"endPosition": "1187",
"kind": "PROPERTY",
"value": {
"endPosition": "1187",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1186"
},
"startPosition": "1183",
"key": {
"endPosition": "1184",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1183"
}
}
]
},
{
"endPosition": "1197",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1192"
}
],
"startPosition": "1175"
}
}
],
"sourceName": "parsertests/array_literal.js",
"strict": "false",
"startPosition": "1113"
}
,
{
"endPosition": "1126",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"expression": {
"endPosition": "1135",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1132"
},
"endPosition": "1135",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1129",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1126"
},
"startPosition": "1126"
},
"endPosition": "1135",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1126"
},
{
"expression": {
"expression": {
"endPosition": "1147",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1144"
},
"endPosition": "1147",
"kind": "PLUS_ASSIGNMENT",
"variable": {
"endPosition": "1140",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1137"
},
"startPosition": "1137"
},
"endPosition": "1147",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1137"
},
{
"expression": {
"expression": {
"endPosition": "1159",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1156"
},
"endPosition": "1159",
"kind": "MINUS_ASSIGNMENT",
"variable": {
"endPosition": "1152",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1149"
},
"startPosition": "1149"
},
"endPosition": "1159",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1149"
},
{
"expression": {
"expression": {
"endPosition": "1171",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1168"
},
"endPosition": "1171",
"kind": "MULTIPLY_ASSIGNMENT",
"variable": {
"endPosition": "1164",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1161"
},
"startPosition": "1161"
},
"endPosition": "1171",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1161"
},
{
"expression": {
"expression": {
"endPosition": "1183",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1180"
},
"endPosition": "1183",
"kind": "DIVIDE_ASSIGNMENT",
"variable": {
"endPosition": "1176",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1173"
},
"startPosition": "1173"
},
"endPosition": "1183",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1173"
},
{
"expression": {
"expression": {
"endPosition": "1195",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1192"
},
"endPosition": "1195",
"kind": "REMAINDER_ASSIGNMENT",
"variable": {
"endPosition": "1188",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1185"
},
"startPosition": "1185"
},
"endPosition": "1195",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1185"
},
{
"expression": {
"expression": {
"endPosition": "1208",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1205"
},
"endPosition": "1208",
"kind": "LEFT_SHIFT_ASSIGNMENT",
"variable": {
"endPosition": "1200",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1197"
},
"startPosition": "1197"
},
"endPosition": "1208",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1197"
},
{
"expression": {
"expression": {
"endPosition": "1221",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1218"
},
"endPosition": "1221",
"kind": "RIGHT_SHIFT_ASSIGNMENT",
"variable": {
"endPosition": "1213",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1210"
},
"startPosition": "1210"
},
"endPosition": "1221",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1210"
},
{
"expression": {
"expression": {
"endPosition": "1235",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1232"
},
"endPosition": "1235",
"kind": "UNSIGNED_RIGHT_SHIFT_ASSIGNMENT",
"variable": {
"endPosition": "1226",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1223"
},
"startPosition": "1223"
},
"endPosition": "1235",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1223"
},
{
"expression": {
"expression": {
"endPosition": "1247",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1244"
},
"endPosition": "1247",
"kind": "AND_ASSIGNMENT",
"variable": {
"endPosition": "1240",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1237"
},
"startPosition": "1237"
},
"endPosition": "1247",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1237"
},
{
"expression": {
"expression": {
"endPosition": "1259",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1256"
},
"endPosition": "1259",
"kind": "XOR_ASSIGNMENT",
"variable": {
"endPosition": "1252",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1249"
},
"startPosition": "1249"
},
"endPosition": "1259",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1249"
},
{
"expression": {
"expression": {
"endPosition": "1271",
"kind": "NUMBER_LITERAL",
"value": "314",
"startPosition": "1268"
},
"endPosition": "1271",
"kind": "OR_ASSIGNMENT",
"variable": {
"endPosition": "1264",
"kind": "IDENTIFIER",
"name": "xyz",
"startPosition": "1261"
},
"startPosition": "1261"
},
"endPosition": "1271",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1261"
}
],
"sourceName": "parsertests/assignmentExpr.js",
"strict": "false",
"startPosition": "1126"
}
,
{
"endPosition": "1116",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"leftOperand": {
"endPosition": "1117",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1116"
},
"endPosition": "1121",
"kind": "MULTIPLY",
"rightOperand": {
"endPosition": "1121",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1120"
},
"startPosition": "1116"
},
"endPosition": "1121",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1116"
},
{
"expression": {
"leftOperand": {
"endPosition": "1123",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1122"
},
"endPosition": "1127",
"kind": "DIVIDE",
"rightOperand": {
"endPosition": "1127",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1126"
},
"startPosition": "1122"
},
"endPosition": "1127",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1122"
},
{
"expression": {
"leftOperand": {
"endPosition": "1130",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1129"
},
"endPosition": "1134",
"kind": "REMAINDER",
"rightOperand": {
"endPosition": "1134",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1133"
},
"startPosition": "1129"
},
"endPosition": "1134",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1129"
},
{
"expression": {
"leftOperand": {
"endPosition": "1137",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1136"
},
"endPosition": "1141",
"kind": "PLUS",
"rightOperand": {
"endPosition": "1141",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1140"
},
"startPosition": "1136"
},
"endPosition": "1141",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1136"
},
{
"expression": {
"leftOperand": {
"endPosition": "1144",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1143"
},
"endPosition": "1148",
"kind": "MINUS",
"rightOperand": {
"endPosition": "1148",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1147"
},
"startPosition": "1143"
},
"endPosition": "1148",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1143"
},
{
"expression": {
"leftOperand": {
"endPosition": "1151",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1150"
},
"endPosition": "1156",
"kind": "LEFT_SHIFT",
"rightOperand": {
"endPosition": "1156",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1155"
},
"startPosition": "1150"
},
"endPosition": "1156",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1150"
},
{
"expression": {
"leftOperand": {
"endPosition": "1159",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1158"
},
"endPosition": "1164",
"kind": "RIGHT_SHIFT",
"rightOperand": {
"endPosition": "1164",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1163"
},
"startPosition": "1158"
},
"endPosition": "1164",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1158"
},
{
"expression": {
"leftOperand": {
"endPosition": "1167",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1166"
},
"endPosition": "1173",
"kind": "UNSIGNED_RIGHT_SHIFT",
"rightOperand": {
"endPosition": "1173",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1172"
},
"startPosition": "1166"
},
"endPosition": "1173",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1166"
},
{
"expression": {
"leftOperand": {
"endPosition": "1176",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1175"
},
"endPosition": "1180",
"kind": "LESS_THAN",
"rightOperand": {
"endPosition": "1180",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1179"
},
"startPosition": "1175"
},
"endPosition": "1180",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1175"
},
{
"expression": {
"leftOperand": {
"endPosition": "1183",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1182"
},
"endPosition": "1187",
"kind": "GREATER_THAN",
"rightOperand": {
"endPosition": "1187",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1186"
},
"startPosition": "1182"
},
"endPosition": "1187",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1182"
},
{
"expression": {
"leftOperand": {
"endPosition": "1190",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1189"
},
"endPosition": "1195",
"kind": "LESS_THAN_EQUAL",
"rightOperand": {
"endPosition": "1195",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1194"
},
"startPosition": "1189"
},
"endPosition": "1195",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1189"
},
{
"expression": {
"leftOperand": {
"endPosition": "1198",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1197"
},
"endPosition": "1203",
"kind": "GREATER_THAN_EQUAL",
"rightOperand": {
"endPosition": "1203",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1202"
},
"startPosition": "1197"
},
"endPosition": "1203",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1197"
},
{
"expression": {
"leftOperand": {
"endPosition": "1206",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1205"
},
"expression": {
"endPosition": "1206",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1205"
},
"endPosition": "1219",
"kind": "INSTANCE_OF",
"rightOperand": {
"endPosition": "1219",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1218"
},
"type": {
"endPosition": "1219",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1218"
},
"startPosition": "1205"
},
"endPosition": "1219",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1205"
},
{
"expression": {
"leftOperand": {
"endPosition": "1222",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1221"
},
"endPosition": "1227",
"kind": "EQUAL_TO",
"rightOperand": {
"endPosition": "1227",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1226"
},
"startPosition": "1221"
},
"endPosition": "1227",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1221"
},
{
"expression": {
"leftOperand": {
"endPosition": "1230",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1229"
},
"endPosition": "1235",
"kind": "NOT_EQUAL_TO",
"rightOperand": {
"endPosition": "1235",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1234"
},
"startPosition": "1229"
},
"endPosition": "1235",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1229"
},
{
"expression": {
"leftOperand": {
"endPosition": "1238",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1237"
},
"endPosition": "1244",
"kind": "STRICT_EQUAL_TO",
"rightOperand": {
"endPosition": "1244",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1243"
},
"startPosition": "1237"
},
"endPosition": "1244",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1237"
},
{
"expression": {
"leftOperand": {
"endPosition": "1247",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1246"
},
"endPosition": "1253",
"kind": "STRICT_NOT_EQUAL_TO",
"rightOperand": {
"endPosition": "1253",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1252"
},
"startPosition": "1246"
},
"endPosition": "1253",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1246"
},
{
"expression": {
"leftOperand": {
"endPosition": "1256",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1255"
},
"endPosition": "1260",
"kind": "AND",
"rightOperand": {
"endPosition": "1260",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1259"
},
"startPosition": "1255"
},
"endPosition": "1260",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1255"
},
{
"expression": {
"leftOperand": {
"endPosition": "1263",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1262"
},
"endPosition": "1267",
"kind": "XOR",
"rightOperand": {
"endPosition": "1267",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1266"
},
"startPosition": "1262"
},
"endPosition": "1267",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1262"
},
{
"expression": {
"leftOperand": {
"endPosition": "1270",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1269"
},
"endPosition": "1274",
"kind": "OR",
"rightOperand": {
"endPosition": "1274",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1273"
},
"startPosition": "1269"
},
"endPosition": "1274",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1269"
},
{
"expression": {
"leftOperand": {
"endPosition": "1277",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1276"
},
"endPosition": "1282",
"kind": "CONDITIONAL_AND",
"rightOperand": {
"endPosition": "1282",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1281"
},
"startPosition": "1276"
},
"endPosition": "1282",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1276"
},
{
"expression": {
"leftOperand": {
"endPosition": "1285",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1284"
},
"endPosition": "1290",
"kind": "CONDITIONAL_OR",
"rightOperand": {
"endPosition": "1290",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1289"
},
"startPosition": "1284"
},
"endPosition": "1290",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1284"
}
],
"sourceName": "parsertests/binaryExpr.js",
"strict": "false",
"startPosition": "1116"
}
,
{
"endPosition": "1117",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1119",
"kind": "BLOCK",
"statements": [],
"startPosition": "1117"
},
{
"endPosition": "1139",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1136",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1127",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1122"
},
"arguments": [
{
"endPosition": "1134",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1129"
}
],
"startPosition": "1122"
},
"endPosition": "1136",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1122"
}
],
"startPosition": "1120"
}
],
"sourceName": "parsertests/block.js",
"strict": "false",
"startPosition": "1117"
}
,
{
"endPosition": "1117",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"condition": {
"endPosition": "1128",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1124"
},
"endPosition": "1140",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1140",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1138",
"kind": "BREAK",
"startPosition": "1132"
}
],
"startPosition": "1130"
},
"startPosition": "1117"
},
{
"endPosition": "1179",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1179",
"kind": "BLOCK",
"statements": [
{
"condition": {
"endPosition": "1161",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1157"
},
"endPosition": "1177",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1177",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1175",
"kind": "BREAK",
"label": "loop",
"startPosition": "1165"
}
],
"startPosition": "1163"
},
"startPosition": "1150"
}
],
"startPosition": "1148"
},
"label": "loop",
"startPosition": "1142"
},
{
"endPosition": "1214",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1214",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1212",
"kind": "FOR_LOOP",
"statement": {
"endPosition": "1212",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1210",
"kind": "BREAK",
"label": "loop",
"startPosition": "1200"
}
],
"startPosition": "1198"
},
"startPosition": "1189"
}
],
"startPosition": "1187"
},
"label": "loop",
"startPosition": "1181"
}
],
"sourceName": "parsertests/breakStat.js",
"strict": "false",
"startPosition": "1117"
}
,
{
"endPosition": "1117",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"condition": {
"endPosition": "1118",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1117"
},
"endPosition": "1125",
"kind": "CONDITIONAL_EXPRESSION",
"trueExpression": {
"endPosition": "1121",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1120"
},
"falseExpression": {
"endPosition": "1125",
"kind": "IDENTIFIER",
"name": "c",
"startPosition": "1124"
},
"startPosition": "1118"
},
"endPosition": "1125",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1117"
}
],
"sourceName": "parsertests/condExpr.js",
"strict": "false",
"startPosition": "1117"
}
,
{
"endPosition": "1120",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"condition": {
"endPosition": "1131",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1127"
},
"endPosition": "1146",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1146",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1144",
"kind": "CONTINUE",
"startPosition": "1135"
}
],
"startPosition": "1133"
},
"startPosition": "1120"
},
{
"endPosition": "1191",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1191",
"kind": "BLOCK",
"statements": [
{
"condition": {
"endPosition": "1168",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1164"
},
"endPosition": "1189",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1189",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1187",
"kind": "CONTINUE",
"label": "begin",
"startPosition": "1172"
}
],
"startPosition": "1170"
},
"startPosition": "1157"
}
],
"startPosition": "1155"
},
"label": "begin",
"startPosition": "1148"
},
{
"endPosition": "1231",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1231",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1229",
"kind": "FOR_LOOP",
"statement": {
"endPosition": "1229",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1227",
"kind": "CONTINUE",
"label": "start",
"startPosition": "1212"
}
],
"startPosition": "1210"
},
"startPosition": "1202"
}
],
"startPosition": "1200"
},
"label": "start",
"startPosition": "1193"
}
],
"sourceName": "parsertests/continueStat.js",
"strict": "false",
"startPosition": "1120"
}
,
{
"endPosition": "1118",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1127",
"kind": "DEBUGGER",
"startPosition": "1118"
}
],
"sourceName": "parsertests/debuggerStat.js",
"strict": "false",
"startPosition": "1118"
}
,
{
"endPosition": "1137",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1172",
"kind": "FUNCTION",
"name": {
"endPosition": "1151",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1146"
},
"body": {
"endPosition": "1170",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1170",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1161",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1156"
},
"arguments": [
{
"endPosition": "1168",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1163"
}
],
"startPosition": "1156"
},
"endPosition": "1170",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1156"
}
],
"startPosition": "1154"
},
"strict": "false",
"startPosition": "1137",
"parameters": []
},
{
"endPosition": "1203",
"kind": "FUNCTION",
"name": {
"endPosition": "1187",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1182"
},
"body": {
"endPosition": "1201",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1201",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1198",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1193"
},
"arguments": [
{
"endPosition": "1200",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1199"
}
],
"startPosition": "1193"
},
"endPosition": "1201",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1193"
}
],
"startPosition": "1191"
},
"strict": "false",
"startPosition": "1173",
"parameters": [
{
"endPosition": "1189",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1188"
}
]
},
{
"endPosition": "1240",
"kind": "FUNCTION",
"name": {
"endPosition": "1218",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1213"
},
"body": {
"endPosition": "1238",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1238",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1232",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1227"
},
"arguments": [
{
"endPosition": "1234",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1233"
},
{
"endPosition": "1237",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1236"
}
],
"startPosition": "1227"
},
"endPosition": "1238",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1227"
}
],
"startPosition": "1225"
},
"strict": "false",
"startPosition": "1204",
"parameters": [
{
"endPosition": "1220",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1219"
},
{
"endPosition": "1223",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1222"
}
]
},
{
"endPosition": "1282",
"kind": "VARIABLE",
"binding": {
"endPosition": "1250",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1245"
},
"startPosition": "1241",
"initializer": {
"endPosition": "1264",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1280",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1280",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1271",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1266"
},
"arguments": [
{
"endPosition": "1278",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1273"
}
],
"startPosition": "1266"
},
"endPosition": "1280",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1266"
}
],
"startPosition": "1264"
},
"strict": "false",
"startPosition": "1264",
"parameters": []
}
},
{
"endPosition": "1331",
"kind": "VARIABLE",
"binding": {
"endPosition": "1293",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1288"
},
"startPosition": "1284",
"initializer": {
"endPosition": "1313",
"kind": "FUNCTION_EXPRESSION",
"name": {
"endPosition": "1310",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1305"
},
"body": {
"endPosition": "1329",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1329",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1320",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1315"
},
"arguments": [
{
"endPosition": "1327",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1322"
}
],
"startPosition": "1315"
},
"endPosition": "1329",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1315"
}
],
"startPosition": "1313"
},
"strict": "false",
"startPosition": "1313",
"parameters": []
}
},
{
"expression": {
"endPosition": "1344",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1345",
"kind": "BLOCK",
"statements": [],
"startPosition": "1344"
},
"strict": "false",
"startPosition": "1344",
"parameters": []
},
"endPosition": "1347",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1333"
},
{
"endPosition": "1380",
"kind": "FUNCTION",
"name": {
"endPosition": "1361",
"kind": "IDENTIFIER",
"name": "test",
"startPosition": "1357"
},
"body": {
"endPosition": "1377",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1377",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1367"
},
"endPosition": "1377",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1367"
}
],
"startPosition": "1364"
},
"strict": "true",
"startPosition": "1348",
"parameters": []
}
],
"sourceName": "parsertests/functions.js",
"strict": "false",
"startPosition": "1137"
}
,
{
"endPosition": "1114",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"condition": {
"endPosition": "1120",
"kind": "IDENTIFIER",
"name": "js",
"startPosition": "1118"
},
"endPosition": "1135",
"kind": "IF",
"startPosition": "1114",
"thenStatement": {
"endPosition": "1135",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1133",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1131",
"kind": "IDENTIFIER",
"name": "nashorn",
"startPosition": "1124"
},
"arguments": [],
"startPosition": "1124"
},
"endPosition": "1133",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1124"
}
],
"startPosition": "1122"
}
},
{
"condition": {
"endPosition": "1143",
"kind": "IDENTIFIER",
"name": "js",
"startPosition": "1141"
},
"elseStatement": {
"endPosition": "1174",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1172",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1170",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "1166"
},
"arguments": [],
"startPosition": "1166"
},
"endPosition": "1172",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1166"
}
],
"startPosition": "1164"
},
"endPosition": "1174",
"kind": "IF",
"startPosition": "1137",
"thenStatement": {
"endPosition": "1158",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1156",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1154",
"kind": "IDENTIFIER",
"name": "nashorn",
"startPosition": "1147"
},
"arguments": [],
"startPosition": "1147"
},
"endPosition": "1156",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1147"
}
],
"startPosition": "1145"
}
}
],
"sourceName": "parsertests/ifStat.js",
"strict": "false",
"startPosition": "1114"
}
,
{
"endPosition": "1113",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1144",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1144",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1142",
"kind": "FOR_LOOP",
"statement": {
"endPosition": "1142",
"kind": "BREAK",
"label": "begin",
"startPosition": "1131"
},
"startPosition": "1122"
}
],
"startPosition": "1120"
},
"label": "begin",
"startPosition": "1113"
},
{
"endPosition": "1181",
"kind": "LABELED_STATEMENT",
"statement": {
"endPosition": "1181",
"kind": "BLOCK",
"statements": [
{
"condition": {
"endPosition": "1166",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1162"
},
"endPosition": "1179",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1179",
"kind": "BREAK",
"label": "begin",
"startPosition": "1168"
},
"startPosition": "1155"
}
],
"startPosition": "1153"
},
"label": "begin",
"startPosition": "1146"
}
],
"sourceName": "parsertests/labelledStat.js",
"strict": "false",
"startPosition": "1113"
}
,
{
"endPosition": "1125",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"expression": {
"endPosition": "1126",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1125"
},
"endPosition": "1129",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "1128",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1127"
},
"startPosition": "1125"
},
"endPosition": "1129",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1125"
},
{
"expression": {
"expression": {
"endPosition": "1132",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1131"
},
"endPosition": "1135",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "1134",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1133"
},
"startPosition": "1131"
},
"endPosition": "1135",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1131"
},
{
"expression": {
"expression": {
"endPosition": "1138",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1137"
},
"endPosition": "1145",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "1143",
"kind": "STRING_LITERAL",
"value": "foo",
"startPosition": "1140"
},
"startPosition": "1137"
},
"endPosition": "1145",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1137"
},
{
"expression": {
"identifier": "foo",
"expression": {
"endPosition": "1150",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1147"
},
"endPosition": "1154",
"kind": "MEMBER_SELECT",
"startPosition": "1147"
},
"endPosition": "1154",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1147"
},
{
"expression": {
"identifier": "bar",
"expression": {
"identifier": "foo",
"expression": {
"endPosition": "1159",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1156"
},
"endPosition": "1163",
"kind": "MEMBER_SELECT",
"startPosition": "1156"
},
"endPosition": "1167",
"kind": "MEMBER_SELECT",
"startPosition": "1156"
},
"endPosition": "1167",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1156"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1177",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1177",
"kind": "IDENTIFIER",
"name": "Type",
"startPosition": "1173"
},
"arguments": [],
"startPosition": "1173"
},
"endPosition": "1177",
"kind": "NEW",
"startPosition": "1169"
},
"endPosition": "1177",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1169"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1189",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1187",
"kind": "IDENTIFIER",
"name": "Type",
"startPosition": "1183"
},
"arguments": [],
"startPosition": "1183"
},
"endPosition": "1189",
"kind": "NEW",
"startPosition": "1179"
},
"endPosition": "1189",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1179"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1211",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1199",
"kind": "IDENTIFIER",
"name": "Type",
"startPosition": "1195"
},
"arguments": [
{
"endPosition": "1201",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1200"
},
{
"endPosition": "1209",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1204"
}
],
"startPosition": "1195"
},
"endPosition": "1211",
"kind": "NEW",
"startPosition": "1191"
},
"endPosition": "1211",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1191"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1225",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "Type",
"expression": {
"endPosition": "1220",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1217"
},
"endPosition": "1225",
"kind": "MEMBER_SELECT",
"startPosition": "1217"
},
"arguments": [],
"startPosition": "1220"
},
"endPosition": "1225",
"kind": "NEW",
"startPosition": "1213"
},
"endPosition": "1225",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1213"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1241",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "Type",
"expression": {
"endPosition": "1234",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1231"
},
"endPosition": "1239",
"kind": "MEMBER_SELECT",
"startPosition": "1231"
},
"arguments": [],
"startPosition": "1234"
},
"endPosition": "1241",
"kind": "NEW",
"startPosition": "1227"
},
"endPosition": "1241",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1227"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1267",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "Type",
"expression": {
"endPosition": "1250",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1247"
},
"endPosition": "1255",
"kind": "MEMBER_SELECT",
"startPosition": "1247"
},
"arguments": [
{
"endPosition": "1257",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1256"
},
{
"endPosition": "1265",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1260"
}
],
"startPosition": "1250"
},
"endPosition": "1267",
"kind": "NEW",
"startPosition": "1243"
},
"endPosition": "1267",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1243"
},
{
"expression": {
"endPosition": "1274",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1272",
"kind": "IDENTIFIER",
"name": "foo",
"startPosition": "1269"
},
"arguments": [],
"startPosition": "1269"
},
"endPosition": "1274",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1269"
},
{
"expression": {
"endPosition": "1284",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "foo",
"expression": {
"endPosition": "1278",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1275"
},
"endPosition": "1282",
"kind": "MEMBER_SELECT",
"startPosition": "1275"
},
"arguments": [],
"startPosition": "1275"
},
"endPosition": "1284",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1275"
},
{
"expression": {
"endPosition": "1294",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1289",
"kind": "IDENTIFIER",
"name": "foo",
"startPosition": "1286"
},
"arguments": [
{
"endPosition": "1291",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1290"
},
{
"endPosition": "1293",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1292"
}
],
"startPosition": "1286"
},
"endPosition": "1294",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1286"
},
{
"expression": {
"endPosition": "1309",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "foo",
"expression": {
"endPosition": "1299",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1296"
},
"endPosition": "1303",
"kind": "MEMBER_SELECT",
"startPosition": "1296"
},
"arguments": [
{
"endPosition": "1305",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1304"
},
{
"endPosition": "1308",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1307"
}
],
"startPosition": "1296"
},
"endPosition": "1309",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1296"
}
],
"sourceName": "parsertests/lhsExpr.js",
"strict": "false",
"startPosition": "1125"
}
,
{
"endPosition": "1110",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"condition": {
"endPosition": "1120",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1116"
},
"endPosition": "1140",
"kind": "WHILE_LOOP",
"statement": {
"endPosition": "1140",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1138",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1129",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1124"
},
"arguments": [
{
"endPosition": "1136",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1131"
}
],
"startPosition": "1124"
},
"endPosition": "1138",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1124"
}
],
"startPosition": "1122"
},
"startPosition": "1110"
},
{
"condition": {
"endPosition": "1173",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1169"
},
"endPosition": "1174",
"kind": "DO_WHILE_LOOP",
"statement": {
"endPosition": "1162",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1160",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1151",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1146"
},
"arguments": [
{
"endPosition": "1158",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1153"
}
],
"startPosition": "1146"
},
"endPosition": "1160",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1146"
}
],
"startPosition": "1144"
},
"startPosition": "1141"
},
{
"expression": {
"endPosition": "1188",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1185"
},
"endPosition": "1207",
"kind": "FOR_IN_LOOP",
"forEach": "false",
"variable": {
"endPosition": "1181",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1180"
},
"statement": {
"endPosition": "1207",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1205",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1197",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1192"
},
"arguments": [
{
"expression": {
"endPosition": "1201",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1198"
},
"endPosition": "1204",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "1203",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1202"
},
"startPosition": "1198"
}
],
"startPosition": "1192"
},
"endPosition": "1205",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1192"
}
],
"startPosition": "1190"
},
"startPosition": "1175"
},
{
"expression": {
"endPosition": "1226",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1223"
},
"endPosition": "1240",
"kind": "FOR_IN_LOOP",
"forEach": "true",
"variable": {
"endPosition": "1219",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1218"
},
"statement": {
"endPosition": "1240",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1238",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1235",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1230"
},
"arguments": [
{
"endPosition": "1237",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1236"
}
],
"startPosition": "1230"
},
"endPosition": "1238",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1230"
}
],
"startPosition": "1228"
},
"startPosition": "1208"
},
{
"condition": {
"leftOperand": {
"endPosition": "1254",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1253"
},
"endPosition": "1259",
"kind": "LESS_THAN",
"rightOperand": {
"endPosition": "1259",
"kind": "NUMBER_LITERAL",
"value": "10",
"startPosition": "1257"
},
"startPosition": "1253"
},
"endPosition": "1278",
"kind": "FOR_LOOP",
"statement": {
"endPosition": "1278",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1276",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1273",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1268"
},
"arguments": [
{
"endPosition": "1275",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1274"
}
],
"startPosition": "1268"
},
"endPosition": "1276",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1268"
}
],
"startPosition": "1266"
},
"update": {
"expression": {
"endPosition": "1262",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1261"
},
"endPosition": "1264",
"kind": "POSTFIX_INCREMENT",
"startPosition": "1261"
},
"startPosition": "1241",
"initializer": {
"expression": {
"endPosition": "1251",
"kind": "NUMBER_LITERAL",
"value": "0",
"startPosition": "1250"
},
"endPosition": "1251",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1247",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "1246"
},
"startPosition": "1246"
}
}
],
"sourceName": "parsertests/loopStat.js",
"strict": "false",
"startPosition": "1110"
}
,
{
"endPosition": "1125",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"expression": {
"endPosition": "1133",
"kind": "OBJECT_LITERAL",
"startPosition": "1131",
"properties": []
},
"endPosition": "1133",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1128",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "1125"
},
"startPosition": "1125"
},
"endPosition": "1133",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1125"
},
{
"expression": {
"expression": {
"endPosition": "1154",
"kind": "OBJECT_LITERAL",
"startPosition": "1139",
"properties": [
{
"endPosition": "1146",
"kind": "PROPERTY",
"value": {
"endPosition": "1146",
"kind": "NUMBER_LITERAL",
"value": "10",
"startPosition": "1144"
},
"startPosition": "1141",
"key": {
"endPosition": "1142",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1141"
}
},
{
"endPosition": "1152",
"kind": "PROPERTY",
"value": {
"endPosition": "1152",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1151"
},
"startPosition": "1148",
"key": {
"endPosition": "1149",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1148"
}
}
]
},
"endPosition": "1154",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1136",
"kind": "IDENTIFIER",
"name": "p",
"startPosition": "1135"
},
"startPosition": "1135"
},
"endPosition": "1154",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1135"
},
{
"expression": {
"expression": {
"endPosition": "1179",
"kind": "OBJECT_LITERAL",
"startPosition": "1160",
"properties": [
{
"endPosition": "1169",
"kind": "PROPERTY",
"value": {
"endPosition": "1169",
"kind": "NUMBER_LITERAL",
"value": "10",
"startPosition": "1167"
},
"startPosition": "1163",
"key": {
"endPosition": "1164",
"kind": "STRING_LITERAL",
"value": "x",
"startPosition": "1163"
}
},
{
"endPosition": "1177",
"kind": "PROPERTY",
"value": {
"endPosition": "1177",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1176"
},
"startPosition": "1172",
"key": {
"endPosition": "1173",
"kind": "STRING_LITERAL",
"value": "y",
"startPosition": "1172"
}
}
]
},
"endPosition": "1179",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1157",
"kind": "IDENTIFIER",
"name": "p",
"startPosition": "1156"
},
"startPosition": "1156"
},
"endPosition": "1179",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1156"
},
{
"expression": {
"expression": {
"endPosition": "1241",
"kind": "OBJECT_LITERAL",
"startPosition": "1185",
"properties": [
{
"getter": {
"endPosition": "1195",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1210",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1210",
"kind": "IDENTIFIER",
"name": "xValue",
"startPosition": "1204"
},
"endPosition": "1210",
"kind": "RETURN",
"startPosition": "1197"
}
],
"startPosition": "1195"
},
"strict": "false",
"startPosition": "1195",
"parameters": []
},
"endPosition": "1212",
"kind": "PROPERTY",
"startPosition": "1187",
"key": {
"endPosition": "1192",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1191"
}
},
{
"getter": {
"endPosition": "1222",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1237",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1237",
"kind": "IDENTIFIER",
"name": "yValue",
"startPosition": "1231"
},
"endPosition": "1237",
"kind": "RETURN",
"startPosition": "1224"
}
],
"startPosition": "1222"
},
"strict": "false",
"startPosition": "1222",
"parameters": []
},
"endPosition": "1239",
"kind": "PROPERTY",
"startPosition": "1214",
"key": {
"endPosition": "1219",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1218"
}
}
]
},
"endPosition": "1241",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1182",
"kind": "IDENTIFIER",
"name": "p",
"startPosition": "1181"
},
"startPosition": "1181"
},
"endPosition": "1241",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1181"
},
{
"expression": {
"expression": {
"endPosition": "1315",
"kind": "OBJECT_LITERAL",
"startPosition": "1247",
"properties": [
{
"getter": {
"endPosition": "1259",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1277",
"kind": "BLOCK",
"statements": [
{
"expression": {
"identifier": "_foo",
"expression": {
"endPosition": "1272",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1268"
},
"endPosition": "1277",
"kind": "MEMBER_SELECT",
"startPosition": "1268"
},
"endPosition": "1277",
"kind": "RETURN",
"startPosition": "1261"
}
],
"startPosition": "1259"
},
"strict": "false",
"startPosition": "1259",
"parameters": []
},
"endPosition": "1279",
"kind": "PROPERTY",
"setter": {
"endPosition": "1294",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1311",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "1311",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "1308"
},
"endPosition": "1311",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "_foo",
"expression": {
"endPosition": "1300",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1296"
},
"endPosition": "1305",
"kind": "MEMBER_SELECT",
"startPosition": "1296"
},
"startPosition": "1296"
},
"endPosition": "1311",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1296"
}
],
"startPosition": "1294"
},
"strict": "false",
"startPosition": "1294",
"parameters": [
{
"endPosition": "1292",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "1289"
}
]
},
"startPosition": "1249",
"key": {
"endPosition": "1256",
"kind": "IDENTIFIER",
"name": "foo",
"startPosition": "1253"
}
}
]
},
"endPosition": "1315",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1244",
"kind": "IDENTIFIER",
"name": "p",
"startPosition": "1243"
},
"startPosition": "1243"
},
"endPosition": "1315",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1243"
}
],
"sourceName": "parsertests/objectLitExpr.js",
"strict": "false",
"startPosition": "1125"
}
,
{
"endPosition": "1118",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"leftOperand": {
"leftOperand": {
"endPosition": "1120",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1119"
},
"endPosition": "1126",
"kind": "PLUS",
"rightOperand": {
"endPosition": "1126",
"kind": "NUMBER_LITERAL",
"value": "1",
"startPosition": "1125"
},
"startPosition": "1119"
},
"endPosition": "1131",
"kind": "PLUS",
"rightOperand": {
"endPosition": "1131",
"kind": "NUMBER_LITERAL",
"value": "4",
"startPosition": "1130"
},
"startPosition": "1119"
},
"endPosition": "1131",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1118"
},
{
"expression": {
"leftOperand": {
"leftOperand": {
"endPosition": "1134",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1133"
},
"endPosition": "1139",
"kind": "PLUS",
"rightOperand": {
"endPosition": "1139",
"kind": "NUMBER_LITERAL",
"value": "7",
"startPosition": "1138"
},
"startPosition": "1133"
},
"endPosition": "1146",
"kind": "LEFT_SHIFT",
"rightOperand": {
"endPosition": "1146",
"kind": "NUMBER_LITERAL",
"value": "5",
"startPosition": "1145"
},
"startPosition": "1133"
},
"endPosition": "1147",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1133"
}
],
"sourceName": "parsertests/parenExpr.js",
"strict": "false",
"startPosition": "1118"
}
,
{
"endPosition": "1119",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1123",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1119"
},
"endPosition": "1123",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1119"
},
{
"expression": {
"endPosition": "1128",
"kind": "IDENTIFIER",
"name": "foo",
"startPosition": "1125"
},
"endPosition": "1128",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1125"
},
{
"expression": {
"endPosition": "1134",
"kind": "NULL_LITERAL",
"startPosition": "1130"
},
"endPosition": "1134",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1130"
},
{
"expression": {
"endPosition": "1140",
"kind": "BOOLEAN_LITERAL",
"value": "true",
"startPosition": "1136"
},
"endPosition": "1140",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1136"
},
{
"expression": {
"endPosition": "1147",
"kind": "BOOLEAN_LITERAL",
"value": "false",
"startPosition": "1142"
},
"endPosition": "1147",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1142"
},
{
"expression": {
"endPosition": "1151",
"kind": "NUMBER_LITERAL",
"value": "33",
"startPosition": "1149"
},
"endPosition": "1151",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1149"
},
{
"expression": {
"endPosition": "1157",
"kind": "NUMBER_LITERAL",
"value": "3.14",
"startPosition": "1153"
},
"endPosition": "1157",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1153"
},
{
"expression": {
"leftOperand": {
"leftOperand": {
"endPosition": "1162",
"kind": "NUMBER_LITERAL",
"value": "10",
"startPosition": "1160"
},
"endPosition": "1166",
"kind": "PLUS",
"rightOperand": {
"endPosition": "1166",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1165"
},
"startPosition": "1160"
},
"endPosition": "1169",
"kind": "MULTIPLY",
"rightOperand": {
"endPosition": "1169",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1168"
},
"startPosition": "1160"
},
"endPosition": "1169",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1159"
},
{
"expression": {
"endPosition": "1174",
"kind": "OBJECT_LITERAL",
"startPosition": "1172",
"properties": []
},
"endPosition": "1175",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1171"
},
{
"expression": {
"endPosition": "1186",
"kind": "OBJECT_LITERAL",
"startPosition": "1178",
"properties": [
{
"endPosition": "1184",
"kind": "PROPERTY",
"value": {
"endPosition": "1184",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1183"
},
"startPosition": "1180",
"key": {
"endPosition": "1181",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1180"
}
}
]
},
"endPosition": "1187",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1177"
},
{
"expression": {
"endPosition": "1191",
"kind": "ARRAY_LITERAL",
"elements": [],
"startPosition": "1189"
},
"endPosition": "1191",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1189"
},
{
"expression": {
"endPosition": "1197",
"kind": "ARRAY_LITERAL",
"elements": [
null,
null
],
"startPosition": "1193"
},
"endPosition": "1197",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1193"
},
{
"expression": {
"endPosition": "1208",
"kind": "ARRAY_LITERAL",
"elements": [
{
"endPosition": "1201",
"kind": "NUMBER_LITERAL",
"value": "4",
"startPosition": "1200"
},
{
"endPosition": "1204",
"kind": "NUMBER_LITERAL",
"value": "5",
"startPosition": "1203"
},
{
"endPosition": "1207",
"kind": "NUMBER_LITERAL",
"value": "5",
"startPosition": "1206"
}
],
"startPosition": "1199"
},
"endPosition": "1208",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1199"
}
],
"sourceName": "parsertests/primaryExpr.js",
"strict": "false",
"startPosition": "1119"
}
,
{
"endPosition": "1114",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1127",
"kind": "VARIABLE",
"binding": {
"endPosition": "1119",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1118"
},
"startPosition": "1114",
"initializer": {
"endPosition": "1127",
"kind": "REGEXP_LITERAL",
"options": "",
"pattern": "foo",
"startPosition": "1122"
}
},
{
"endPosition": "1143",
"kind": "VARIABLE",
"binding": {
"endPosition": "1134",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1133"
},
"startPosition": "1129",
"initializer": {
"endPosition": "1143",
"kind": "REGEXP_LITERAL",
"options": "g",
"pattern": "foo",
"startPosition": "1137"
}
},
{
"endPosition": "1168",
"kind": "VARIABLE",
"binding": {
"endPosition": "1150",
"kind": "IDENTIFIER",
"name": "z",
"startPosition": "1149"
},
"startPosition": "1145",
"initializer": {
"endPosition": "1168",
"kind": "REGEXP_LITERAL",
"options": "",
"pattern": "[a-z]*[1-10]?",
"startPosition": "1153"
}
}
],
"sourceName": "parsertests/regexp_literal.js",
"strict": "false",
"startPosition": "1114"
}
,
{
"endPosition": "1118",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1130",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1138",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1138",
"kind": "RETURN",
"startPosition": "1132"
}
],
"startPosition": "1130"
},
"strict": "false",
"startPosition": "1130",
"parameters": []
},
"endPosition": "1141",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1118"
},
{
"expression": {
"endPosition": "1155",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1167",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1167",
"kind": "IDENTIFIER",
"name": "res",
"startPosition": "1164"
},
"endPosition": "1167",
"kind": "RETURN",
"startPosition": "1157"
}
],
"startPosition": "1155"
},
"strict": "false",
"startPosition": "1155",
"parameters": []
},
"endPosition": "1170",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1143"
},
{
"expression": {
"endPosition": "1184",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1198",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1198",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1196",
"kind": "IDENTIFIER",
"name": "foo",
"startPosition": "1193"
},
"arguments": [],
"startPosition": "1193"
},
"endPosition": "1198",
"kind": "RETURN",
"startPosition": "1186"
}
],
"startPosition": "1184"
},
"strict": "false",
"startPosition": "1184",
"parameters": []
},
"endPosition": "1201",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1172"
}
],
"sourceName": "parsertests/returnStat.js",
"strict": "false",
"startPosition": "1118"
}
,
{
"endPosition": "1111",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"cases": [],
"expression": {
"endPosition": "1122",
"kind": "IDENTIFIER",
"name": "key",
"startPosition": "1119"
},
"endPosition": "1126",
"kind": "SWITCH",
"startPosition": "1111"
},
{
"cases": [
{
"expression": {
"endPosition": "1149",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1148"
},
"endPosition": "1166",
"kind": "CASE",
"statements": [
{
"expression": {
"endPosition": "1158",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1156",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1151"
},
"arguments": [],
"startPosition": "1151"
},
"endPosition": "1158",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1151"
},
{
"endPosition": "1166",
"kind": "BREAK",
"startPosition": "1160"
}
],
"startPosition": "1143"
}
],
"expression": {
"endPosition": "1139",
"kind": "IDENTIFIER",
"name": "key",
"startPosition": "1136"
},
"endPosition": "1168",
"kind": "SWITCH",
"startPosition": "1128"
},
{
"cases": [
{
"expression": {
"endPosition": "1191",
"kind": "NUMBER_LITERAL",
"value": "4",
"startPosition": "1190"
},
"endPosition": "1208",
"kind": "CASE",
"statements": [
{
"expression": {
"endPosition": "1200",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1198",
"kind": "IDENTIFIER",
"name": "hello",
"startPosition": "1193"
},
"arguments": [],
"startPosition": "1193"
},
"endPosition": "1200",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1193"
},
{
"endPosition": "1208",
"kind": "BREAK",
"startPosition": "1202"
}
],
"startPosition": "1185"
},
{
"expression": {
"endPosition": "1215",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1214"
},
"endPosition": "1232",
"kind": "CASE",
"statements": [
{
"expression": {
"endPosition": "1224",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1222",
"kind": "IDENTIFIER",
"name": "world",
"startPosition": "1217"
},
"arguments": [],
"startPosition": "1217"
},
"endPosition": "1224",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1217"
},
{
"endPosition": "1232",
"kind": "BREAK",
"startPosition": "1226"
}
],
"startPosition": "1209"
},
{
"endPosition": "1247",
"kind": "CASE",
"statements": [
{
"endPosition": "1247",
"kind": "BREAK",
"startPosition": "1242"
}
],
"startPosition": "1233"
}
],
"expression": {
"endPosition": "1181",
"kind": "IDENTIFIER",
"name": "key",
"startPosition": "1178"
},
"endPosition": "1249",
"kind": "SWITCH",
"startPosition": "1170"
}
],
"sourceName": "parsertests/switchStat.js",
"strict": "false",
"startPosition": "1111"
}
,
{
"endPosition": "1110",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1119",
"kind": "IDENTIFIER",
"name": "err",
"startPosition": "1116"
},
"endPosition": "1120",
"kind": "THROW",
"startPosition": "1110"
},
{
"expression": {
"endPosition": "1133",
"kind": "STRING_LITERAL",
"value": "wrong",
"startPosition": "1128"
},
"endPosition": "1135",
"kind": "THROW",
"startPosition": "1121"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1155",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1155",
"kind": "IDENTIFIER",
"name": "TypeError",
"startPosition": "1146"
},
"arguments": [],
"startPosition": "1146"
},
"endPosition": "1155",
"kind": "NEW",
"startPosition": "1142"
},
"endPosition": "1156",
"kind": "THROW",
"startPosition": "1136"
},
{
"expression": {
"constructorExpression": {
"endPosition": "1192",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1176",
"kind": "IDENTIFIER",
"name": "TypeError",
"startPosition": "1167"
},
"arguments": [
{
"endPosition": "1190",
"kind": "STRING_LITERAL",
"value": "not an array",
"startPosition": "1178"
}
],
"startPosition": "1167"
},
"endPosition": "1192",
"kind": "NEW",
"startPosition": "1163"
},
"endPosition": "1193",
"kind": "THROW",
"startPosition": "1157"
},
{
"expression": {
"endPosition": "1217",
"kind": "OBJECT_LITERAL",
"startPosition": "1200",
"properties": [
{
"endPosition": "1214",
"kind": "PROPERTY",
"value": {
"endPosition": "1214",
"kind": "STRING_LITERAL",
"value": "wrong!",
"startPosition": "1208"
},
"startPosition": "1202",
"key": {
"endPosition": "1205",
"kind": "IDENTIFIER",
"name": "msg",
"startPosition": "1202"
}
}
]
},
"endPosition": "1218",
"kind": "THROW",
"startPosition": "1194"
}
],
"sourceName": "parsertests/throwStat.js",
"strict": "false",
"startPosition": "1110"
}
,
{
"endPosition": "1121",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1142",
"kind": "TRY",
"catches": [
{
"endPosition": "1142",
"kind": "CATCH",
"parameter": {
"endPosition": "1137",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1136"
},
"block": {
"endPosition": "1142",
"kind": "BLOCK",
"statements": [],
"startPosition": "1139"
},
"startPosition": "1129"
}
],
"block": {
"endPosition": "1128",
"kind": "BLOCK",
"statements": [],
"startPosition": "1125"
},
"startPosition": "1121"
},
{
"endPosition": "1175",
"kind": "TRY",
"catches": [
{
"endPosition": "1164",
"kind": "CATCH",
"parameter": {
"endPosition": "1159",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1158"
},
"block": {
"endPosition": "1164",
"kind": "BLOCK",
"statements": [],
"startPosition": "1161"
},
"startPosition": "1151"
}
],
"block": {
"endPosition": "1150",
"kind": "BLOCK",
"statements": [],
"startPosition": "1147"
},
"finallyBlock": {
"endPosition": "1175",
"kind": "BLOCK",
"statements": [],
"startPosition": "1173"
},
"startPosition": "1143"
},
{
"endPosition": "1194",
"kind": "TRY",
"catches": [],
"block": {
"endPosition": "1183",
"kind": "BLOCK",
"statements": [],
"startPosition": "1180"
},
"finallyBlock": {
"endPosition": "1194",
"kind": "BLOCK",
"statements": [],
"startPosition": "1192"
},
"startPosition": "1176"
},
{
"endPosition": "1225",
"kind": "TRY",
"catches": [
{
"endPosition": "1225",
"kind": "CATCH",
"parameter": {
"endPosition": "1211",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1210"
},
"block": {
"endPosition": "1225",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1223",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1221",
"kind": "IDENTIFIER",
"name": "handle",
"startPosition": "1215"
},
"arguments": [],
"startPosition": "1215"
},
"endPosition": "1223",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1215"
}
],
"startPosition": "1213"
},
"startPosition": "1203"
}
],
"block": {
"endPosition": "1202",
"kind": "BLOCK",
"statements": [],
"startPosition": "1199"
},
"startPosition": "1195"
},
{
"endPosition": "1283",
"kind": "TRY",
"catches": [
{
"endPosition": "1263",
"kind": "CATCH",
"parameter": {
"endPosition": "1249",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1248"
},
"block": {
"endPosition": "1263",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1261",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1259",
"kind": "IDENTIFIER",
"name": "handle",
"startPosition": "1253"
},
"arguments": [],
"startPosition": "1253"
},
"endPosition": "1261",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1253"
}
],
"startPosition": "1251"
},
"startPosition": "1241"
}
],
"block": {
"endPosition": "1240",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1238",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1236",
"kind": "IDENTIFIER",
"name": "that",
"startPosition": "1232"
},
"arguments": [],
"startPosition": "1232"
},
"endPosition": "1238",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1232"
}
],
"startPosition": "1230"
},
"finallyBlock": {
"endPosition": "1283",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1281",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1279",
"kind": "IDENTIFIER",
"name": "clean",
"startPosition": "1274"
},
"arguments": [],
"startPosition": "1274"
},
"endPosition": "1281",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1274"
}
],
"startPosition": "1272"
},
"startPosition": "1226"
},
{
"endPosition": "1368",
"kind": "TRY",
"catches": [
{
"condition": {
"leftOperand": {
"endPosition": "1312",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1311"
},
"expression": {
"endPosition": "1312",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1311"
},
"endPosition": "1333",
"kind": "INSTANCE_OF",
"rightOperand": {
"endPosition": "1333",
"kind": "IDENTIFIER",
"name": "TypeError",
"startPosition": "1324"
},
"type": {
"endPosition": "1333",
"kind": "IDENTIFIER",
"name": "TypeError",
"startPosition": "1324"
},
"startPosition": "1311"
},
"endPosition": "1347",
"kind": "CATCH",
"parameter": {
"endPosition": "1307",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1306"
},
"block": {
"endPosition": "1347",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1345",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1343",
"kind": "IDENTIFIER",
"name": "handle",
"startPosition": "1337"
},
"arguments": [],
"startPosition": "1337"
},
"endPosition": "1345",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1337"
}
],
"startPosition": "1335"
},
"startPosition": "1299"
},
{
"endPosition": "1368",
"kind": "CATCH",
"parameter": {
"endPosition": "1356",
"kind": "IDENTIFIER",
"name": "e",
"startPosition": "1355"
},
"block": {
"endPosition": "1368",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1366",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1364",
"kind": "IDENTIFIER",
"name": "rest",
"startPosition": "1360"
},
"arguments": [],
"startPosition": "1360"
},
"endPosition": "1366",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1360"
}
],
"startPosition": "1358"
},
"startPosition": "1348"
}
],
"block": {
"endPosition": "1298",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1296",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1294",
"kind": "IDENTIFIER",
"name": "that",
"startPosition": "1290"
},
"arguments": [],
"startPosition": "1290"
},
"endPosition": "1296",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1290"
}
],
"startPosition": "1288"
},
"startPosition": "1284"
}
],
"sourceName": "parsertests/tryCatchStat.js",
"strict": "false",
"startPosition": "1121"
}
,
{
"endPosition": "1115",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"expression": {
"endPosition": "1116",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1115"
},
"endPosition": "1118",
"kind": "POSTFIX_INCREMENT",
"startPosition": "1115"
},
"endPosition": "1118",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1115"
},
{
"expression": {
"expression": {
"endPosition": "1121",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1120"
},
"endPosition": "1123",
"kind": "POSTFIX_DECREMENT",
"startPosition": "1120"
},
"endPosition": "1123",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1120"
},
{
"expression": {
"expression": {
"endPosition": "1133",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1132"
},
"endPosition": "1133",
"kind": "DELETE",
"startPosition": "1125"
},
"endPosition": "1133",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1125"
},
{
"expression": {
"expression": {
"endPosition": "1141",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1140"
},
"endPosition": "1141",
"kind": "VOID",
"startPosition": "1135"
},
"endPosition": "1141",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1135"
},
{
"expression": {
"expression": {
"endPosition": "1151",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1150"
},
"endPosition": "1151",
"kind": "TYPEOF",
"startPosition": "1143"
},
"endPosition": "1151",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1143"
},
{
"expression": {
"expression": {
"endPosition": "1156",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1155"
},
"endPosition": "1156",
"kind": "PREFIX_INCREMENT",
"startPosition": "1153"
},
"endPosition": "1156",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1153"
},
{
"expression": {
"expression": {
"endPosition": "1161",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1160"
},
"endPosition": "1161",
"kind": "PREFIX_DECREMENT",
"startPosition": "1158"
},
"endPosition": "1161",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1158"
},
{
"expression": {
"expression": {
"endPosition": "1165",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1164"
},
"endPosition": "1165",
"kind": "UNARY_PLUS",
"startPosition": "1163"
},
"endPosition": "1165",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1163"
},
{
"expression": {
"expression": {
"endPosition": "1169",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1168"
},
"endPosition": "1169",
"kind": "UNARY_MINUS",
"startPosition": "1167"
},
"endPosition": "1169",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1167"
},
{
"expression": {
"expression": {
"endPosition": "1173",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1172"
},
"endPosition": "1173",
"kind": "BITWISE_COMPLEMENT",
"startPosition": "1171"
},
"endPosition": "1173",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1171"
},
{
"expression": {
"expression": {
"endPosition": "1177",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1176"
},
"endPosition": "1177",
"kind": "LOGICAL_COMPLEMENT",
"startPosition": "1175"
},
"endPosition": "1177",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1175"
}
],
"sourceName": "parsertests/unaryExpr.js",
"strict": "false",
"startPosition": "1115"
}
,
{
"endPosition": "1122",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1133",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1123"
},
"endPosition": "1133",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1123"
},
{
"endPosition": "1165",
"kind": "FUNCTION",
"name": {
"endPosition": "1146",
"kind": "IDENTIFIER",
"name": "f",
"startPosition": "1145"
},
"body": {
"endPosition": "1162",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1162",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1152"
},
"endPosition": "1162",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1152"
}
],
"startPosition": "1149"
},
"strict": "true",
"startPosition": "1136",
"parameters": []
}
],
"sourceName": "parsertests/useStrict.js",
"strict": "true",
"startPosition": "1122"
}
,
{
"endPosition": "1143",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1148",
"kind": "VARIABLE",
"binding": {
"endPosition": "1148",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1147"
},
"startPosition": "1143"
},
{
"endPosition": "1155",
"kind": "VARIABLE",
"binding": {
"endPosition": "1155",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1154"
},
"startPosition": "1150"
},
{
"endPosition": "1158",
"kind": "VARIABLE",
"binding": {
"endPosition": "1158",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1157"
},
"startPosition": "1150"
},
{
"endPosition": "1200",
"kind": "VARIABLE",
"binding": {
"endPosition": "1191",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1190"
},
"startPosition": "1186",
"initializer": {
"endPosition": "1200",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1195"
}
},
{
"endPosition": "1212",
"kind": "VARIABLE",
"binding": {
"endPosition": "1208",
"kind": "IDENTIFIER",
"name": "a",
"startPosition": "1207"
},
"startPosition": "1203",
"initializer": {
"endPosition": "1212",
"kind": "NUMBER_LITERAL",
"value": "1",
"startPosition": "1211"
}
},
{
"endPosition": "1219",
"kind": "VARIABLE",
"binding": {
"endPosition": "1215",
"kind": "IDENTIFIER",
"name": "b",
"startPosition": "1214"
},
"startPosition": "1203",
"initializer": {
"endPosition": "1219",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "1218"
}
},
{
"endPosition": "1226",
"kind": "VARIABLE",
"binding": {
"endPosition": "1222",
"kind": "IDENTIFIER",
"name": "c",
"startPosition": "1221"
},
"startPosition": "1203",
"initializer": {
"endPosition": "1226",
"kind": "NUMBER_LITERAL",
"value": "3",
"startPosition": "1225"
}
}
],
"sourceName": "parsertests/varDecl.js",
"strict": "false",
"startPosition": "1143"
}
,
{
"endPosition": "1111",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1133",
"kind": "WITH",
"scope": {
"endPosition": "1122",
"kind": "IDENTIFIER",
"name": "scope",
"startPosition": "1117"
},
"statement": {
"endPosition": "1133",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "1131",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1130"
},
"endPosition": "1131",
"kind": "ASSIGNMENT",
"variable": {
"endPosition": "1127",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1126"
},
"startPosition": "1126"
},
"endPosition": "1131",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1126"
}
],
"startPosition": "1124"
},
"startPosition": "1111"
}
],
"sourceName": "parsertests/withStat.js",
"strict": "false",
"startPosition": "1111"
}
,
{
"fileName": "parsernegativetests/caseoutofswitch.js",
"code": "case (1090, 4)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1090",
"message": "parsernegativetests/caseoutofswitch.js:29:0 Expected an operand but found case\ncase 23:\n^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/caseoutofswitch.js",
"code": "default (1112, 7)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1112",
"message": "parsernegativetests/caseoutofswitch.js:31:0 Expected an operand but found default\ndefault:\n^",
"lineNumber": "31"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1098",
"kind": "ERROR",
"startPosition": "1090"
},
"endPosition": "1098",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1090"
},
{
"expression": {
"endPosition": "1110",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1104",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1099"
},
"arguments": [
{
"endPosition": "1108",
"kind": "STRING_LITERAL",
"value": "23",
"startPosition": "1106"
}
],
"startPosition": "1099"
},
"endPosition": "1110",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1099"
},
{
"expression": {
"endPosition": "1120",
"kind": "ERROR",
"startPosition": "1112"
},
"endPosition": "1120",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1112"
},
{
"expression": {
"endPosition": "1135",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "1126",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "1121"
},
"arguments": [
{
"endPosition": "1133",
"kind": "STRING_LITERAL",
"value": "hello",
"startPosition": "1128"
}
],
"startPosition": "1121"
},
"endPosition": "1135",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1121"
}
],
"sourceName": "parsernegativetests/caseoutofswitch.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/illegalbreak.js",
"code": "break (1090, 5)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1090",
"message": "parsernegativetests/illegalbreak.js:29:0 Illegal break statement\nbreak;\n^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/illegalbreak.js",
"code": "ident (1103, 3)",
"columnNumber": "6",
"kind": "ERROR",
"position": "1103",
"message": "parsernegativetests/illegalbreak.js:30:6 Undefined Label \"foo\"\nbreak foo;\n ^",
"lineNumber": "30"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1096",
"kind": "ERROR",
"startPosition": "1095"
},
"endPosition": "1096",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1095"
},
{
"expression": {
"endPosition": "1107",
"kind": "ERROR",
"startPosition": "1106"
},
"endPosition": "1107",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1106"
}
],
"sourceName": "parsernegativetests/illegalbreak.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/illegalcontinue.js",
"code": "continue (1090, 8)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1090",
"message": "parsernegativetests/illegalcontinue.js:29:0 Illegal continue statement\ncontinue;\n^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/illegalcontinue.js",
"code": "ident (1109, 3)",
"columnNumber": "9",
"kind": "ERROR",
"position": "1109",
"message": "parsernegativetests/illegalcontinue.js:30:9 Undefined Label \"foo\"\ncontinue foo;\n ^",
"lineNumber": "30"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1099",
"kind": "ERROR",
"startPosition": "1098"
},
"endPosition": "1099",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1098"
},
{
"expression": {
"endPosition": "1113",
"kind": "ERROR",
"startPosition": "1112"
},
"endPosition": "1113",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1112"
}
],
"sourceName": "parsernegativetests/illegalcontinue.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/illegallvalue.js",
"code": "decimal (1090, 2)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1090",
"message": "parsernegativetests/illegallvalue.js:29:0 Invalid left hand side for assignment\n44 = 54;\n^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/illegallvalue.js",
"code": "decimal (1099, 3)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1099",
"message": "parsernegativetests/illegallvalue.js:30:0 Invalid left hand side for assignment\n233 += 33;\n^",
"lineNumber": "30"
}
,
{
"fileName": "parsernegativetests/illegallvalue.js",
"code": "decimal (1110, 4)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1110",
"message": "parsernegativetests/illegallvalue.js:31:0 Invalid left hand side for assignment\n3423 -= 234;\n^",
"lineNumber": "31"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1098",
"kind": "ERROR",
"startPosition": "1097"
},
"endPosition": "1098",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1097"
},
{
"expression": {
"endPosition": "1109",
"kind": "ERROR",
"startPosition": "1108"
},
"endPosition": "1109",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1108"
},
{
"expression": {
"endPosition": "1122",
"kind": "ERROR",
"startPosition": "1121"
},
"endPosition": "1122",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1121"
}
],
"sourceName": "parsernegativetests/illegallvalue.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/illegaloperator.js",
"code": "* (1093, 1)",
"columnNumber": "3",
"kind": "ERROR",
"position": "1093",
"message": "parsernegativetests/illegaloperator.js:29:3 Expected an operand but found *\nx ** y\n ^",
"lineNumber": "29"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1096",
"kind": "ERROR",
"startPosition": "1093"
},
"endPosition": "1096",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1093"
}
],
"sourceName": "parsernegativetests/illegaloperator.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/keywordident.js",
"code": "var (1094, 3)",
"columnNumber": "4",
"kind": "ERROR",
"position": "1094",
"message": "parsernegativetests/keywordident.js:29:4 Expected ident but found var\nvar var = 23;\n ^",
"lineNumber": "29"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1103",
"kind": "ERROR",
"startPosition": "1094"
},
"endPosition": "1103",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1094"
},
{
"endPosition": "1115",
"kind": "VARIABLE",
"binding": {
"endPosition": "1109",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1108"
},
"startPosition": "1104",
"initializer": {
"endPosition": "1115",
"kind": "NUMBER_LITERAL",
"value": "223",
"startPosition": "1112"
}
}
],
"sourceName": "parsernegativetests/keywordident.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/parenmissing.js",
"code": "; (1096, 1)",
"columnNumber": "6",
"kind": "ERROR",
"position": "1096",
"message": "parsernegativetests/parenmissing.js:29:6 Expected ) but found ;\n(1 + 2;\n ^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/parenmissing.js",
"code": ") (1103, 1)",
"columnNumber": "5",
"kind": "ERROR",
"position": "1103",
"message": "parsernegativetests/parenmissing.js:30:5 Expected ; but found )\nx * y);\n ^",
"lineNumber": "30"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1097",
"kind": "ERROR",
"startPosition": "1096"
},
"endPosition": "1097",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1096"
},
{
"expression": {
"leftOperand": {
"endPosition": "1099",
"kind": "IDENTIFIER",
"name": "x",
"startPosition": "1098"
},
"endPosition": "1103",
"kind": "MULTIPLY",
"rightOperand": {
"endPosition": "1103",
"kind": "IDENTIFIER",
"name": "y",
"startPosition": "1102"
},
"startPosition": "1098"
},
"endPosition": "1103",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1098"
},
{
"expression": {
"endPosition": "1105",
"kind": "ERROR",
"startPosition": "1103"
},
"endPosition": "1105",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1103"
}
],
"sourceName": "parsernegativetests/parenmissing.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/repeatedproperty.js",
"code": "ident (1111, 3)",
"columnNumber": "21",
"kind": "ERROR",
"position": "1111",
"message": "parsernegativetests/repeatedproperty.js:29:21 Property \"foo\" already defined\nvar obj = { foo: 34, get foo() { return 'hello' } };\n ^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/repeatedproperty.js",
"code": "ident (1165, 3)",
"columnNumber": "22",
"kind": "ERROR",
"position": "1165",
"message": "parsernegativetests/repeatedproperty.js:30:22 Property \"foo\" already defined\nvar obj1 = { foo: 34, set foo(x) { } };\n ^",
"lineNumber": "30"
}
,
{
"fileName": "parsernegativetests/repeatedproperty.js",
"code": "ident (1205, 3)",
"columnNumber": "22",
"kind": "ERROR",
"position": "1205",
"message": "parsernegativetests/repeatedproperty.js:31:22 Property \"foo\" already defined\nvar obj2 = { foo: 34, set foo(x) { } };\n ^",
"lineNumber": "31"
}
,
{
"fileName": "parsernegativetests/repeatedproperty.js",
"code": "ident (1251, 3)",
"columnNumber": "28",
"kind": "ERROR",
"position": "1251",
"message": "parsernegativetests/repeatedproperty.js:32:28 Property \"bar\" already defined\nvar obj3 = { get bar() { }, get bar() {} };\n ^",
"lineNumber": "32"
}
,
{
"fileName": "parsernegativetests/repeatedproperty.js",
"code": "ident (1296, 3)",
"columnNumber": "29",
"kind": "ERROR",
"position": "1296",
"message": "parsernegativetests/repeatedproperty.js:33:29 Property \"bar\" already defined\nvar obj4 = { set bar(x) { }, set bar(x) {} };\n ^",
"lineNumber": "33"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1141",
"kind": "ERROR",
"startPosition": "1140"
},
"endPosition": "1141",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1140"
},
{
"expression": {
"endPosition": "1181",
"kind": "ERROR",
"startPosition": "1180"
},
"endPosition": "1181",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1180"
},
{
"expression": {
"endPosition": "1221",
"kind": "ERROR",
"startPosition": "1220"
},
"endPosition": "1221",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1220"
},
{
"expression": {
"endPosition": "1265",
"kind": "ERROR",
"startPosition": "1264"
},
"endPosition": "1265",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1264"
},
{
"expression": {
"endPosition": "1311",
"kind": "ERROR",
"startPosition": "1310"
},
"endPosition": "1311",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1310"
}
],
"sourceName": "parsernegativetests/repeatedproperty.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/strict_repeatedproperty.js",
"code": "ident (1126, 3)",
"columnNumber": "21",
"kind": "ERROR",
"position": "1126",
"message": "parsernegativetests/strict_repeatedproperty.js:31:21 Property \"foo\" already defined\nvar obj = { foo: 34, foo: 'hello' };\n ^",
"lineNumber": "31"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1101",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1091"
},
"endPosition": "1101",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1091"
},
{
"expression": {
"endPosition": "1140",
"kind": "ERROR",
"startPosition": "1139"
},
"endPosition": "1140",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1139"
}
],
"sourceName": "parsernegativetests/strict_repeatedproperty.js",
"strict": "true",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/strict_repeatparam.js",
"code": "ident (1122, 1)",
"columnNumber": "17",
"kind": "ERROR",
"position": "1122",
"message": "parsernegativetests/strict_repeatparam.js:31:17 strict mode function cannot have duplicate parameter name \"x\"\nfunction func(x, x) {}\n ^",
"lineNumber": "31"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1101",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1091"
},
"endPosition": "1101",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1091"
},
{
"expression": {
"endPosition": "1127",
"kind": "ERROR",
"startPosition": "1128"
},
"endPosition": "1127",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1128"
}
],
"sourceName": "parsernegativetests/strict_repeatparam.js",
"strict": "true",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/strict_with.js",
"code": "with (1105, 4)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1105",
"message": "parsernegativetests/strict_with.js:31:0 \"with\" statement cannot be used in strict mode\nwith({}) {}\n^",
"lineNumber": "31"
}
,
{
"fileName": "parsernegativetests/strict_with.js",
"code": ") (1112, 1)",
"columnNumber": "7",
"kind": "ERROR",
"position": "1112",
"message": "parsernegativetests/strict_with.js:31:7 Expected ; but found )\nwith({}) {}\n ^",
"lineNumber": "31"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1101",
"kind": "STRING_LITERAL",
"value": "use strict",
"startPosition": "1091"
},
"endPosition": "1101",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1091"
},
{
"expression": {
"endPosition": "1112",
"kind": "ERROR",
"startPosition": "1109"
},
"endPosition": "1112",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1109"
},
{
"expression": {
"endPosition": "1116",
"kind": "ERROR",
"startPosition": "1112"
},
"endPosition": "1116",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1112"
}
],
"sourceName": "parsernegativetests/strict_with.js",
"strict": "true",
"startPosition": "1090"
}
,
{
"fileName": "parsernegativetests/toplevelreturn.js",
"code": "return (1090, 6)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1090",
"message": "parsernegativetests/toplevelreturn.js:29:0 Invalid return statement\nreturn;\n^",
"lineNumber": "29"
}
,
{
"fileName": "parsernegativetests/toplevelreturn.js",
"code": "return (1098, 6)",
"columnNumber": "0",
"kind": "ERROR",
"position": "1098",
"message": "parsernegativetests/toplevelreturn.js:30:0 Invalid return statement\nreturn 23;\n^",
"lineNumber": "30"
}
,
{
"endPosition": "1090",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"expression": {
"endPosition": "1097",
"kind": "ERROR",
"startPosition": "1090"
},
"endPosition": "1097",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1090"
},
{
"expression": {
"endPosition": "1108",
"kind": "ERROR",
"startPosition": "1098"
},
"endPosition": "1108",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1098"
}
],
"sourceName": "parsernegativetests/toplevelreturn.js",
"strict": "false",
"startPosition": "1090"
}
,
{
"endPosition": "1136",
"kind": "COMPILATION_UNIT",
"sourceElements": [
{
"endPosition": "1222",
"kind": "FUNCTION",
"name": {
"endPosition": "1151",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1145"
},
"body": {
"endPosition": "1220",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "1219",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "create",
"expression": {
"endPosition": "1210",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1204"
},
"endPosition": "1217",
"kind": "MEMBER_SELECT",
"startPosition": "1204"
},
"arguments": [],
"startPosition": "1204"
},
"endPosition": "1219",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "_parser",
"expression": {
"endPosition": "1193",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1189"
},
"endPosition": "1201",
"kind": "MEMBER_SELECT",
"startPosition": "1189"
},
"startPosition": "1189"
},
"endPosition": "1219",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1189"
}
],
"startPosition": "1154"
},
"strict": "false",
"startPosition": "1136",
"parameters": []
},
{
"expression": {
"expression": {
"endPosition": "1307",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1267",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1263"
},
"endPosition": "1272",
"kind": "MEMBER_SELECT",
"startPosition": "1263"
},
"arguments": [
{
"endPosition": "1305",
"kind": "STRING_LITERAL",
"value": "jdk.nashorn.api.tree.Diagnostic",
"startPosition": "1274"
}
],
"startPosition": "1263"
},
"endPosition": "1307",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "Diagnostic",
"expression": {
"endPosition": "1249",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1243"
},
"endPosition": "1260",
"kind": "MEMBER_SELECT",
"startPosition": "1243"
},
"startPosition": "1243"
},
"endPosition": "1307",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1243"
},
{
"expression": {
"expression": {
"endPosition": "1392",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1340",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1336"
},
"endPosition": "1345",
"kind": "MEMBER_SELECT",
"startPosition": "1336"
},
"arguments": [
{
"endPosition": "1390",
"kind": "STRING_LITERAL",
"value": "jdk.nashorn.api.tree.SimpleTreeVisitorES5_1",
"startPosition": "1347"
}
],
"startPosition": "1336"
},
"endPosition": "1392",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "SimpleTreeVisitor",
"expression": {
"endPosition": "1315",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1309"
},
"endPosition": "1333",
"kind": "MEMBER_SELECT",
"startPosition": "1309"
},
"startPosition": "1309"
},
"endPosition": "1392",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1309"
},
{
"expression": {
"expression": {
"endPosition": "1446",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1412",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1408"
},
"endPosition": "1417",
"kind": "MEMBER_SELECT",
"startPosition": "1408"
},
"arguments": [
{
"endPosition": "1444",
"kind": "STRING_LITERAL",
"value": "jdk.nashorn.api.tree.Tree",
"startPosition": "1419"
}
],
"startPosition": "1408"
},
"endPosition": "1446",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "Tree",
"expression": {
"endPosition": "1400",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1394"
},
"endPosition": "1405",
"kind": "MEMBER_SELECT",
"startPosition": "1394"
},
"startPosition": "1394"
},
"endPosition": "1446",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1394"
},
{
"expression": {
"expression": {
"endPosition": "1489",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1466",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1462"
},
"endPosition": "1471",
"kind": "MEMBER_SELECT",
"startPosition": "1462"
},
"arguments": [
{
"endPosition": "1487",
"kind": "STRING_LITERAL",
"value": "java.util.List",
"startPosition": "1473"
}
],
"startPosition": "1462"
},
"endPosition": "1489",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "List",
"expression": {
"endPosition": "1454",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1448"
},
"endPosition": "1459",
"kind": "MEMBER_SELECT",
"startPosition": "1448"
},
"startPosition": "1448"
},
"endPosition": "1489",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1448"
},
{
"expression": {
"expression": {
"endPosition": "1532",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1509",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1505"
},
"endPosition": "1514",
"kind": "MEMBER_SELECT",
"startPosition": "1505"
},
"arguments": [
{
"endPosition": "1530",
"kind": "STRING_LITERAL",
"value": "java.lang.Enum",
"startPosition": "1516"
}
],
"startPosition": "1505"
},
"endPosition": "1532",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "Enum",
"expression": {
"endPosition": "1497",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1491"
},
"endPosition": "1502",
"kind": "MEMBER_SELECT",
"startPosition": "1491"
},
"startPosition": "1491"
},
"endPosition": "1532",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1491"
},
{
"expression": {
"expression": {
"endPosition": "1659",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1805",
"kind": "BLOCK",
"statements": [
{
"endPosition": "1718",
"kind": "VARIABLE",
"binding": {
"endPosition": "1673",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "1669"
},
"startPosition": "1665",
"initializer": {
"endPosition": "1718",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "parse",
"expression": {
"identifier": "_parser",
"expression": {
"endPosition": "1680",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1676"
},
"endPosition": "1688",
"kind": "MEMBER_SELECT",
"startPosition": "1676"
},
"endPosition": "1694",
"kind": "MEMBER_SELECT",
"startPosition": "1676"
},
"arguments": [
{
"endPosition": "1699",
"kind": "IDENTIFIER",
"name": "name",
"startPosition": "1695"
},
{
"endPosition": "1707",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "1701"
},
{
"endPosition": "1717",
"kind": "IDENTIFIER",
"name": "listener",
"startPosition": "1709"
}
],
"startPosition": "1676"
}
},
{
"expression": {
"endPosition": "1773",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "accept",
"expression": {
"endPosition": "1728",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "1724"
},
"endPosition": "1735",
"kind": "MEMBER_SELECT",
"startPosition": "1724"
},
"arguments": [
{
"constructorExpression": {
"endPosition": "1766",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "SimpleTreeVisitor",
"expression": {
"endPosition": "1746",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1740"
},
"endPosition": "1764",
"kind": "MEMBER_SELECT",
"startPosition": "1740"
},
"arguments": [],
"startPosition": "1746"
},
"endPosition": "1766",
"kind": "NEW",
"startPosition": "1736"
},
{
"endPosition": "1772",
"kind": "NULL_LITERAL",
"startPosition": "1768"
}
],
"startPosition": "1724"
},
"endPosition": "1773",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1724"
},
{
"expression": {
"endPosition": "1804",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "convert",
"expression": {
"endPosition": "1790",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "1786"
},
"endPosition": "1798",
"kind": "MEMBER_SELECT",
"startPosition": "1786"
},
"arguments": [
{
"endPosition": "1803",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "1799"
}
],
"startPosition": "1786"
},
"endPosition": "1805",
"kind": "RETURN",
"startPosition": "1779"
}
],
"startPosition": "1659"
},
"strict": "false",
"startPosition": "1659",
"parameters": [
{
"endPosition": "1639",
"kind": "IDENTIFIER",
"name": "name",
"startPosition": "1635"
},
{
"endPosition": "1647",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "1641"
},
{
"endPosition": "1657",
"kind": "IDENTIFIER",
"name": "listener",
"startPosition": "1649"
}
]
},
"endPosition": "1659",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "parse",
"expression": {
"identifier": "prototype",
"expression": {
"endPosition": "1607",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1601"
},
"endPosition": "1617",
"kind": "MEMBER_SELECT",
"startPosition": "1601"
},
"endPosition": "1623",
"kind": "MEMBER_SELECT",
"startPosition": "1601"
},
"startPosition": "1601"
},
"endPosition": "1807",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1601"
},
{
"expression": {
"expression": {
"endPosition": "1836",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "1899",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "1898",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "create",
"expression": {
"endPosition": "1889",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "1853",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "1849"
},
"endPosition": "1858",
"kind": "MEMBER_SELECT",
"startPosition": "1849"
},
"arguments": [
{
"endPosition": "1887",
"kind": "STRING_LITERAL",
"value": "jdk.nashorn.api.tree.Parser",
"startPosition": "1860"
}
],
"startPosition": "1849"
},
"endPosition": "1896",
"kind": "MEMBER_SELECT",
"startPosition": "1849"
},
"arguments": [],
"startPosition": "1896"
},
"endPosition": "1899",
"kind": "RETURN",
"startPosition": "1842"
}
],
"startPosition": "1836"
},
"strict": "false",
"startPosition": "1836",
"parameters": []
},
"endPosition": "1836",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "create",
"expression": {
"endPosition": "1815",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1809"
},
"endPosition": "1822",
"kind": "MEMBER_SELECT",
"startPosition": "1809"
},
"startPosition": "1809"
},
"endPosition": "1901",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1809"
},
{
"expression": {
"expression": {
"endPosition": "2016",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "3634",
"kind": "BLOCK",
"statements": [
{
"condition": {
"leftOperand": {
"leftOperand": {
"expression": {
"endPosition": "2031",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2027"
},
"endPosition": "2031",
"kind": "LOGICAL_COMPLEMENT",
"startPosition": "2026"
},
"endPosition": "2057",
"kind": "CONDITIONAL_OR",
"rightOperand": {
"leftOperand": {
"expression": {
"endPosition": "2046",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2042"
},
"endPosition": "2046",
"kind": "TYPEOF",
"startPosition": "2035"
},
"endPosition": "2057",
"kind": "NOT_EQUAL_TO",
"rightOperand": {
"endPosition": "2057",
"kind": "STRING_LITERAL",
"value": "object",
"startPosition": "2051"
},
"startPosition": "2035"
},
"startPosition": "2026"
},
"endPosition": "2092",
"kind": "CONDITIONAL_OR",
"rightOperand": {
"leftOperand": {
"endPosition": "2066",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2062"
},
"expression": {
"endPosition": "2066",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2062"
},
"endPosition": "2092",
"kind": "INSTANCE_OF",
"rightOperand": {
"identifier": "Long",
"expression": {
"identifier": "lang",
"expression": {
"endPosition": "2082",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "2078"
},
"endPosition": "2087",
"kind": "MEMBER_SELECT",
"startPosition": "2078"
},
"endPosition": "2092",
"kind": "MEMBER_SELECT",
"startPosition": "2078"
},
"type": {
"identifier": "Long",
"expression": {
"identifier": "lang",
"expression": {
"endPosition": "2082",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "2078"
},
"endPosition": "2087",
"kind": "MEMBER_SELECT",
"startPosition": "2078"
},
"endPosition": "2092",
"kind": "MEMBER_SELECT",
"startPosition": "2078"
},
"startPosition": "2062"
},
"startPosition": "2026"
},
"endPosition": "2122",
"kind": "IF",
"startPosition": "2022",
"thenStatement": {
"endPosition": "2122",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "2115",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2111"
},
"endPosition": "2116",
"kind": "RETURN",
"startPosition": "2104"
}
],
"startPosition": "2094"
}
},
{
"endPosition": "2169",
"kind": "VARIABLE",
"binding": {
"endPosition": "2135",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "2132"
},
"startPosition": "2128",
"initializer": {
"endPosition": "2169",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "bindProperties",
"expression": {
"endPosition": "2144",
"kind": "IDENTIFIER",
"name": "Object",
"startPosition": "2138"
},
"endPosition": "2159",
"kind": "MEMBER_SELECT",
"startPosition": "2138"
},
"arguments": [
{
"endPosition": "2162",
"kind": "OBJECT_LITERAL",
"startPosition": "2160",
"properties": []
},
{
"endPosition": "2168",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2164"
}
],
"startPosition": "2138"
}
},
{
"endPosition": "2190",
"kind": "VARIABLE",
"binding": {
"endPosition": "2185",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "2179"
},
"startPosition": "2175",
"initializer": {
"endPosition": "2190",
"kind": "OBJECT_LITERAL",
"startPosition": "2188",
"properties": []
}
},
{
"endPosition": "2206",
"kind": "VARIABLE",
"binding": {
"endPosition": "2206",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "2205"
},
"startPosition": "2201"
},
{
"expression": {
"endPosition": "2213",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "2210"
},
"endPosition": "3615",
"kind": "FOR_IN_LOOP",
"forEach": "false",
"variable": {
"endPosition": "2206",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "2205"
},
"statement": {
"endPosition": "3615",
"kind": "BLOCK",
"statements": [
{
"endPosition": "2241",
"kind": "VARIABLE",
"binding": {
"endPosition": "2232",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2229"
},
"startPosition": "2225",
"initializer": {
"expression": {
"endPosition": "2238",
"kind": "IDENTIFIER",
"name": "obj",
"startPosition": "2235"
},
"endPosition": "2241",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "2240",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "2239"
},
"startPosition": "2235"
}
},
{
"condition": {
"leftOperand": {
"leftOperand": {
"expression": {
"endPosition": "2384",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2381"
},
"endPosition": "2384",
"kind": "TYPEOF",
"startPosition": "2374"
},
"endPosition": "2397",
"kind": "EQUAL_TO",
"rightOperand": {
"endPosition": "2397",
"kind": "STRING_LITERAL",
"value": "boolean",
"startPosition": "2390"
},
"startPosition": "2374"
},
"endPosition": "2414",
"kind": "CONDITIONAL_AND",
"rightOperand": {
"leftOperand": {
"endPosition": "2405",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2402"
},
"endPosition": "2414",
"kind": "EQUAL_TO",
"rightOperand": {
"endPosition": "2414",
"kind": "BOOLEAN_LITERAL",
"value": "false",
"startPosition": "2409"
},
"startPosition": "2402"
},
"startPosition": "2374"
},
"endPosition": "2881",
"kind": "IF",
"startPosition": "2370",
"thenStatement": {
"endPosition": "2881",
"kind": "BLOCK",
"statements": [
{
"cases": [
{
"expression": {
"endPosition": "2473",
"kind": "STRING_LITERAL",
"value": "computed",
"startPosition": "2465"
},
"endPosition": "2475",
"kind": "CASE",
"statements": [],
"startPosition": "2459"
},
{
"expression": {
"endPosition": "2504",
"kind": "STRING_LITERAL",
"value": "static",
"startPosition": "2498"
},
"endPosition": "2506",
"kind": "CASE",
"statements": [],
"startPosition": "2492"
},
{
"expression": {
"endPosition": "2542",
"kind": "STRING_LITERAL",
"value": "restParameter",
"startPosition": "2529"
},
"endPosition": "2544",
"kind": "CASE",
"statements": [],
"startPosition": "2523"
},
{
"expression": {
"endPosition": "2571",
"kind": "STRING_LITERAL",
"value": "this",
"startPosition": "2567"
},
"endPosition": "2573",
"kind": "CASE",
"statements": [],
"startPosition": "2561"
},
{
"expression": {
"endPosition": "2601",
"kind": "STRING_LITERAL",
"value": "super",
"startPosition": "2596"
},
"endPosition": "2603",
"kind": "CASE",
"statements": [],
"startPosition": "2590"
},
{
"expression": {
"endPosition": "2630",
"kind": "STRING_LITERAL",
"value": "star",
"startPosition": "2626"
},
"endPosition": "2632",
"kind": "CASE",
"statements": [],
"startPosition": "2620"
},
{
"expression": {
"endPosition": "2662",
"kind": "STRING_LITERAL",
"value": "default",
"startPosition": "2655"
},
"endPosition": "2664",
"kind": "CASE",
"statements": [],
"startPosition": "2649"
},
{
"expression": {
"endPosition": "2702",
"kind": "STRING_LITERAL",
"value": "starDefaultStar",
"startPosition": "2687"
},
"endPosition": "2704",
"kind": "CASE",
"statements": [],
"startPosition": "2681"
},
{
"expression": {
"endPosition": "2732",
"kind": "STRING_LITERAL",
"value": "arrow",
"startPosition": "2727"
},
"endPosition": "2734",
"kind": "CASE",
"statements": [],
"startPosition": "2721"
},
{
"expression": {
"endPosition": "2766",
"kind": "STRING_LITERAL",
"value": "generator",
"startPosition": "2757"
},
"endPosition": "2768",
"kind": "CASE",
"statements": [],
"startPosition": "2751"
},
{
"expression": {
"endPosition": "2794",
"kind": "STRING_LITERAL",
"value": "let",
"startPosition": "2791"
},
"endPosition": "2796",
"kind": "CASE",
"statements": [],
"startPosition": "2785"
},
{
"expression": {
"endPosition": "2824",
"kind": "STRING_LITERAL",
"value": "const",
"startPosition": "2819"
},
"endPosition": "2856",
"kind": "CASE",
"statements": [
{
"endPosition": "2856",
"kind": "CONTINUE",
"startPosition": "2847"
}
],
"startPosition": "2813"
}
],
"expression": {
"endPosition": "2439",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "2438"
},
"endPosition": "2871",
"kind": "SWITCH",
"startPosition": "2430"
}
],
"startPosition": "2416"
}
},
{
"condition": {
"leftOperand": {
"endPosition": "2898",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2895"
},
"expression": {
"endPosition": "2898",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2895"
},
"endPosition": "2921",
"kind": "INSTANCE_OF",
"rightOperand": {
"identifier": "Tree",
"expression": {
"endPosition": "2916",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "2910"
},
"endPosition": "2921",
"kind": "MEMBER_SELECT",
"startPosition": "2910"
},
"type": {
"identifier": "Tree",
"expression": {
"endPosition": "2916",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "2910"
},
"endPosition": "2921",
"kind": "MEMBER_SELECT",
"startPosition": "2910"
},
"startPosition": "2895"
},
"elseStatement": {
"condition": {
"leftOperand": {
"endPosition": "2990",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2987"
},
"expression": {
"endPosition": "2990",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2987"
},
"endPosition": "3013",
"kind": "INSTANCE_OF",
"rightOperand": {
"identifier": "List",
"expression": {
"endPosition": "3008",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "3002"
},
"endPosition": "3013",
"kind": "MEMBER_SELECT",
"startPosition": "3002"
},
"type": {
"identifier": "List",
"expression": {
"endPosition": "3008",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "3002"
},
"endPosition": "3013",
"kind": "MEMBER_SELECT",
"startPosition": "3002"
},
"startPosition": "2987"
},
"elseStatement": {
"endPosition": "3609",
"kind": "BLOCK",
"statements": [
{
"cases": [
{
"expression": {
"endPosition": "3265",
"kind": "STRING_LITERAL",
"value": "number",
"startPosition": "3259"
},
"endPosition": "3267",
"kind": "CASE",
"statements": [],
"startPosition": "3253"
},
{
"expression": {
"endPosition": "3296",
"kind": "STRING_LITERAL",
"value": "string",
"startPosition": "3290"
},
"endPosition": "3298",
"kind": "CASE",
"statements": [],
"startPosition": "3284"
},
{
"expression": {
"endPosition": "3328",
"kind": "STRING_LITERAL",
"value": "boolean",
"startPosition": "3321"
},
"endPosition": "3402",
"kind": "CASE",
"statements": [
{
"expression": {
"expression": {
"endPosition": "3374",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3369",
"kind": "IDENTIFIER",
"name": "String",
"startPosition": "3363"
},
"arguments": [
{
"endPosition": "3373",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3370"
}
],
"startPosition": "3363"
},
"endPosition": "3374",
"kind": "ASSIGNMENT",
"variable": {
"expression": {
"endPosition": "3357",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "3351"
},
"endPosition": "3360",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "3359",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "3358"
},
"startPosition": "3351"
},
"startPosition": "3351"
},
"endPosition": "3374",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "3351"
},
{
"endPosition": "3402",
"kind": "BREAK",
"startPosition": "3396"
}
],
"startPosition": "3315"
},
{
"endPosition": "3585",
"kind": "CASE",
"statements": [
{
"condition": {
"leftOperand": {
"leftOperand": {
"endPosition": "3455",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3452"
},
"expression": {
"endPosition": "3455",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3452"
},
"endPosition": "3481",
"kind": "INSTANCE_OF",
"rightOperand": {
"identifier": "Long",
"expression": {
"identifier": "lang",
"expression": {
"endPosition": "3471",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "3467"
},
"endPosition": "3476",
"kind": "MEMBER_SELECT",
"startPosition": "3467"
},
"endPosition": "3481",
"kind": "MEMBER_SELECT",
"startPosition": "3467"
},
"type": {
"identifier": "Long",
"expression": {
"identifier": "lang",
"expression": {
"endPosition": "3471",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "3467"
},
"endPosition": "3476",
"kind": "MEMBER_SELECT",
"startPosition": "3467"
},
"endPosition": "3481",
"kind": "MEMBER_SELECT",
"startPosition": "3467"
},
"startPosition": "3452"
},
"endPosition": "3511",
"kind": "CONDITIONAL_OR",
"rightOperand": {
"leftOperand": {
"endPosition": "3488",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3485"
},
"expression": {
"endPosition": "3488",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3485"
},
"endPosition": "3511",
"kind": "INSTANCE_OF",
"rightOperand": {
"identifier": "Enum",
"expression": {
"endPosition": "3506",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "3500"
},
"endPosition": "3511",
"kind": "MEMBER_SELECT",
"startPosition": "3500"
},
"type": {
"identifier": "Enum",
"expression": {
"endPosition": "3506",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "3500"
},
"endPosition": "3511",
"kind": "MEMBER_SELECT",
"startPosition": "3500"
},
"startPosition": "3485"
},
"startPosition": "3452"
},
"endPosition": "3585",
"kind": "IF",
"startPosition": "3448",
"thenStatement": {
"endPosition": "3585",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "3562",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3557",
"kind": "IDENTIFIER",
"name": "String",
"startPosition": "3551"
},
"arguments": [
{
"endPosition": "3561",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3558"
}
],
"startPosition": "3551"
},
"endPosition": "3562",
"kind": "ASSIGNMENT",
"variable": {
"expression": {
"endPosition": "3545",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "3539"
},
"endPosition": "3548",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "3547",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "3546"
},
"startPosition": "3539"
},
"startPosition": "3539"
},
"endPosition": "3562",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "3539"
}
],
"startPosition": "3513"
}
}
],
"startPosition": "3419"
}
],
"expression": {
"expression": {
"endPosition": "3233",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3230"
},
"endPosition": "3233",
"kind": "TYPEOF",
"startPosition": "3223"
},
"endPosition": "3599",
"kind": "SWITCH",
"startPosition": "3215"
}
],
"startPosition": "3201"
},
"endPosition": "3609",
"kind": "IF",
"startPosition": "2983",
"thenStatement": {
"endPosition": "3195",
"kind": "BLOCK",
"statements": [
{
"endPosition": "3060",
"kind": "VARIABLE",
"binding": {
"endPosition": "3036",
"kind": "IDENTIFIER",
"name": "arr",
"startPosition": "3033"
},
"startPosition": "3029",
"initializer": {
"constructorExpression": {
"endPosition": "3060",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3048",
"kind": "IDENTIFIER",
"name": "Array",
"startPosition": "3043"
},
"arguments": [
{
"endPosition": "3059",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "size",
"expression": {
"endPosition": "3052",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3049"
},
"endPosition": "3057",
"kind": "MEMBER_SELECT",
"startPosition": "3049"
},
"arguments": [],
"startPosition": "3049"
}
],
"startPosition": "3043"
},
"endPosition": "3060",
"kind": "NEW",
"startPosition": "3039"
}
},
{
"endPosition": "3084",
"kind": "VARIABLE",
"binding": {
"endPosition": "3084",
"kind": "IDENTIFIER",
"name": "j",
"startPosition": "3083"
},
"startPosition": "3079"
},
{
"expression": {
"endPosition": "3091",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3088"
},
"endPosition": "3155",
"kind": "FOR_IN_LOOP",
"forEach": "false",
"variable": {
"endPosition": "3084",
"kind": "IDENTIFIER",
"name": "j",
"startPosition": "3083"
},
"statement": {
"endPosition": "3155",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "3140",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "convert",
"expression": {
"endPosition": "3124",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "3120"
},
"endPosition": "3132",
"kind": "MEMBER_SELECT",
"startPosition": "3120"
},
"arguments": [
{
"expression": {
"endPosition": "3136",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "3133"
},
"endPosition": "3139",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "3138",
"kind": "IDENTIFIER",
"name": "j",
"startPosition": "3137"
},
"startPosition": "3133"
}
],
"startPosition": "3120"
},
"endPosition": "3140",
"kind": "ASSIGNMENT",
"variable": {
"expression": {
"endPosition": "3114",
"kind": "IDENTIFIER",
"name": "arr",
"startPosition": "3111"
},
"endPosition": "3117",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "3116",
"kind": "IDENTIFIER",
"name": "j",
"startPosition": "3115"
},
"startPosition": "3111"
},
"startPosition": "3111"
},
"endPosition": "3140",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "3111"
}
],
"startPosition": "3093"
},
"startPosition": "3074"
},
{
"expression": {
"expression": {
"endPosition": "3184",
"kind": "IDENTIFIER",
"name": "arr",
"startPosition": "3181"
},
"endPosition": "3184",
"kind": "ASSIGNMENT",
"variable": {
"expression": {
"endPosition": "3175",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "3169"
},
"endPosition": "3178",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "3177",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "3176"
},
"startPosition": "3169"
},
"startPosition": "3169"
},
"endPosition": "3184",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "3169"
}
],
"startPosition": "3015"
}
},
"endPosition": "3609",
"kind": "IF",
"startPosition": "2891",
"thenStatement": {
"endPosition": "2977",
"kind": "BLOCK",
"statements": [
{
"expression": {
"expression": {
"endPosition": "2966",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "convert",
"expression": {
"endPosition": "2953",
"kind": "IDENTIFIER",
"this": "true",
"name": "this",
"startPosition": "2949"
},
"endPosition": "2961",
"kind": "MEMBER_SELECT",
"startPosition": "2949"
},
"arguments": [
{
"endPosition": "2965",
"kind": "IDENTIFIER",
"name": "val",
"startPosition": "2962"
}
],
"startPosition": "2949"
},
"endPosition": "2966",
"kind": "ASSIGNMENT",
"variable": {
"expression": {
"endPosition": "2943",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "2937"
},
"endPosition": "2946",
"kind": "ARRAY_ACCESS",
"index": {
"endPosition": "2945",
"kind": "IDENTIFIER",
"name": "i",
"startPosition": "2944"
},
"startPosition": "2937"
},
"startPosition": "2937"
},
"endPosition": "2966",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "2937"
}
],
"startPosition": "2923"
}
}
],
"startPosition": "2215"
},
"startPosition": "2196"
},
{
"expression": {
"endPosition": "3633",
"kind": "IDENTIFIER",
"name": "result",
"startPosition": "3627"
},
"endPosition": "3634",
"kind": "RETURN",
"startPosition": "3620"
}
],
"startPosition": "2016"
},
"strict": "false",
"startPosition": "2016",
"parameters": [
{
"endPosition": "2014",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "2010"
}
]
},
"endPosition": "2016",
"kind": "ASSIGNMENT",
"variable": {
"identifier": "convert",
"expression": {
"identifier": "prototype",
"expression": {
"endPosition": "1980",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "1974"
},
"endPosition": "1990",
"kind": "MEMBER_SELECT",
"startPosition": "1974"
},
"endPosition": "1998",
"kind": "MEMBER_SELECT",
"startPosition": "1974"
},
"startPosition": "1974"
},
"endPosition": "3636",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "1974"
},
{
"endPosition": "4366",
"kind": "FUNCTION",
"name": {
"endPosition": "3659",
"kind": "IDENTIFIER",
"name": "processFiles",
"startPosition": "3647"
},
"body": {
"endPosition": "4364",
"kind": "BLOCK",
"statements": [
{
"endPosition": "3710",
"kind": "VARIABLE",
"binding": {
"endPosition": "3682",
"kind": "IDENTIFIER",
"name": "File",
"startPosition": "3678"
},
"startPosition": "3674",
"initializer": {
"endPosition": "3710",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "type",
"expression": {
"endPosition": "3689",
"kind": "IDENTIFIER",
"name": "Java",
"startPosition": "3685"
},
"endPosition": "3694",
"kind": "MEMBER_SELECT",
"startPosition": "3685"
},
"arguments": [
{
"endPosition": "3708",
"kind": "STRING_LITERAL",
"value": "java.io.File",
"startPosition": "3696"
}
],
"startPosition": "3685"
}
},
{
"endPosition": "3766",
"kind": "VARIABLE",
"binding": {
"endPosition": "3725",
"kind": "IDENTIFIER",
"name": "files",
"startPosition": "3720"
},
"startPosition": "3716",
"initializer": {
"endPosition": "3766",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "listFiles",
"expression": {
"constructorExpression": {
"endPosition": "3754",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3736",
"kind": "IDENTIFIER",
"name": "File",
"startPosition": "3732"
},
"arguments": [
{
"leftOperand": {
"endPosition": "3744",
"kind": "IDENTIFIER",
"name": "__DIR__",
"startPosition": "3737"
},
"endPosition": "3753",
"kind": "PLUS",
"rightOperand": {
"endPosition": "3753",
"kind": "IDENTIFIER",
"name": "subdir",
"startPosition": "3747"
},
"startPosition": "3737"
}
],
"startPosition": "3732"
},
"endPosition": "3754",
"kind": "NEW",
"startPosition": "3728"
},
"endPosition": "3764",
"kind": "MEMBER_SELECT",
"startPosition": "3728"
},
"arguments": [],
"startPosition": "3728"
}
},
{
"expression": {
"endPosition": "3800",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "sort",
"expression": {
"identifier": "Arrays",
"expression": {
"identifier": "util",
"expression": {
"endPosition": "3776",
"kind": "IDENTIFIER",
"name": "java",
"startPosition": "3772"
},
"endPosition": "3781",
"kind": "MEMBER_SELECT",
"startPosition": "3772"
},
"endPosition": "3788",
"kind": "MEMBER_SELECT",
"startPosition": "3772"
},
"endPosition": "3793",
"kind": "MEMBER_SELECT",
"startPosition": "3772"
},
"arguments": [
{
"endPosition": "3799",
"kind": "IDENTIFIER",
"name": "files",
"startPosition": "3794"
}
],
"startPosition": "3772"
},
"endPosition": "3800",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "3772"
},
{
"endPosition": "3824",
"kind": "VARIABLE",
"binding": {
"endPosition": "3824",
"kind": "IDENTIFIER",
"name": "file",
"startPosition": "3820"
},
"startPosition": "3816"
},
{
"expression": {
"endPosition": "3833",
"kind": "IDENTIFIER",
"name": "files",
"startPosition": "3828"
},
"endPosition": "4364",
"kind": "FOR_IN_LOOP",
"forEach": "true",
"variable": {
"endPosition": "3824",
"kind": "IDENTIFIER",
"name": "file",
"startPosition": "3820"
},
"statement": {
"endPosition": "4364",
"kind": "BLOCK",
"statements": [
{
"condition": {
"endPosition": "3874",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "endsWith",
"expression": {
"identifier": "name",
"expression": {
"endPosition": "3853",
"kind": "IDENTIFIER",
"name": "file",
"startPosition": "3849"
},
"endPosition": "3858",
"kind": "MEMBER_SELECT",
"startPosition": "3849"
},
"endPosition": "3867",
"kind": "MEMBER_SELECT",
"startPosition": "3849"
},
"arguments": [
{
"endPosition": "3872",
"kind": "STRING_LITERAL",
"value": ".js",
"startPosition": "3869"
}
],
"startPosition": "3849"
},
"endPosition": "4358",
"kind": "IF",
"startPosition": "3845",
"thenStatement": {
"endPosition": "4358",
"kind": "BLOCK",
"statements": [
{
"endPosition": "3918",
"kind": "VARIABLE",
"binding": {
"endPosition": "3900",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "3894"
},
"startPosition": "3890",
"initializer": {
"endPosition": "3918",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3912",
"kind": "IDENTIFIER",
"name": "readFully",
"startPosition": "3903"
},
"arguments": [
{
"endPosition": "3917",
"kind": "IDENTIFIER",
"name": "file",
"startPosition": "3913"
}
],
"startPosition": "3903"
}
},
{
"endPosition": "3957",
"kind": "VARIABLE",
"binding": {
"endPosition": "3942",
"kind": "IDENTIFIER",
"name": "parser",
"startPosition": "3936"
},
"startPosition": "3932",
"initializer": {
"constructorExpression": {
"endPosition": "3957",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "3955",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "3949"
},
"arguments": [],
"startPosition": "3949"
},
"endPosition": "3957",
"kind": "NEW",
"startPosition": "3945"
}
},
{
"endPosition": "4218",
"kind": "VARIABLE",
"binding": {
"endPosition": "3979",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "3975"
},
"startPosition": "3971",
"initializer": {
"endPosition": "4218",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "parse",
"expression": {
"endPosition": "3988",
"kind": "IDENTIFIER",
"name": "parser",
"startPosition": "3982"
},
"endPosition": "3994",
"kind": "MEMBER_SELECT",
"startPosition": "3982"
},
"arguments": [
{
"leftOperand": {
"leftOperand": {
"endPosition": "4001",
"kind": "IDENTIFIER",
"name": "subdir",
"startPosition": "3995"
},
"endPosition": "4006",
"kind": "PLUS",
"rightOperand": {
"endPosition": "4006",
"kind": "STRING_LITERAL",
"value": "/",
"startPosition": "4005"
},
"startPosition": "3995"
},
"endPosition": "4019",
"kind": "PLUS",
"rightOperand": {
"identifier": "name",
"expression": {
"endPosition": "4014",
"kind": "IDENTIFIER",
"name": "file",
"startPosition": "4010"
},
"endPosition": "4019",
"kind": "MEMBER_SELECT",
"startPosition": "4010"
},
"startPosition": "3995"
},
{
"endPosition": "4027",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "4021"
},
{
"endPosition": "4066",
"kind": "FUNCTION_EXPRESSION",
"body": {
"endPosition": "4199",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "4166",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4093",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4088"
},
"arguments": [
{
"endPosition": "4165",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "replace",
"expression": {
"endPosition": "4145",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "stringify",
"expression": {
"endPosition": "4098",
"kind": "IDENTIFIER",
"name": "JSON",
"startPosition": "4094"
},
"endPosition": "4108",
"kind": "MEMBER_SELECT",
"startPosition": "4094"
},
"arguments": [
{
"endPosition": "4135",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "convert",
"expression": {
"endPosition": "4115",
"kind": "IDENTIFIER",
"name": "parser",
"startPosition": "4109"
},
"endPosition": "4123",
"kind": "MEMBER_SELECT",
"startPosition": "4109"
},
"arguments": [
{
"endPosition": "4134",
"kind": "IDENTIFIER",
"name": "diagnostic",
"startPosition": "4124"
}
],
"startPosition": "4109"
},
{
"endPosition": "4141",
"kind": "NULL_LITERAL",
"startPosition": "4137"
},
{
"endPosition": "4144",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "4143"
}
],
"startPosition": "4094"
},
"endPosition": "4153",
"kind": "MEMBER_SELECT",
"startPosition": "4094"
},
"arguments": [
{
"endPosition": "4160",
"kind": "REGEXP_LITERAL",
"options": "g",
"pattern": "\\\\r",
"startPosition": "4154"
},
{
"endPosition": "4163",
"kind": "STRING_LITERAL",
"value": "",
"startPosition": "4163"
}
],
"startPosition": "4153"
}
],
"startPosition": "4088"
},
"endPosition": "4166",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4088"
},
{
"expression": {
"endPosition": "4198",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4193",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4188"
},
"arguments": [
{
"endPosition": "4196",
"kind": "STRING_LITERAL",
"value": ",",
"startPosition": "4195"
}
],
"startPosition": "4188"
},
"endPosition": "4198",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4188"
}
],
"startPosition": "4066"
},
"strict": "false",
"startPosition": "4066",
"parameters": [
{
"endPosition": "4064",
"kind": "IDENTIFIER",
"name": "diagnostic",
"startPosition": "4054"
}
]
}
],
"startPosition": "3982"
}
},
{
"condition": {
"leftOperand": {
"endPosition": "4241",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "4237"
},
"endPosition": "4249",
"kind": "NOT_EQUAL_TO",
"rightOperand": {
"endPosition": "4249",
"kind": "NULL_LITERAL",
"startPosition": "4245"
},
"startPosition": "4237"
},
"endPosition": "4348",
"kind": "IF",
"startPosition": "4233",
"thenStatement": {
"endPosition": "4348",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "4305",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4274",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4269"
},
"arguments": [
{
"endPosition": "4304",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "stringify",
"expression": {
"endPosition": "4279",
"kind": "IDENTIFIER",
"name": "JSON",
"startPosition": "4275"
},
"endPosition": "4289",
"kind": "MEMBER_SELECT",
"startPosition": "4275"
},
"arguments": [
{
"endPosition": "4294",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "4290"
},
{
"endPosition": "4300",
"kind": "NULL_LITERAL",
"startPosition": "4296"
},
{
"endPosition": "4303",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "4302"
}
],
"startPosition": "4275"
}
],
"startPosition": "4269"
},
"endPosition": "4305",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4269"
},
{
"expression": {
"endPosition": "4333",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4328",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4323"
},
"arguments": [
{
"endPosition": "4331",
"kind": "STRING_LITERAL",
"value": ",",
"startPosition": "4330"
}
],
"startPosition": "4323"
},
"endPosition": "4333",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4323"
}
],
"startPosition": "4251"
}
}
],
"startPosition": "3876"
}
}
],
"startPosition": "3835"
},
"startPosition": "3806"
}
],
"startPosition": "3668"
},
"strict": "false",
"startPosition": "3638",
"parameters": [
{
"endPosition": "3666",
"kind": "IDENTIFIER",
"name": "subdir",
"startPosition": "3660"
}
]
},
{
"endPosition": "4710",
"kind": "FUNCTION",
"name": {
"endPosition": "4421",
"kind": "IDENTIFIER",
"name": "main",
"startPosition": "4417"
},
"body": {
"endPosition": "4708",
"kind": "BLOCK",
"statements": [
{
"expression": {
"endPosition": "4440",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4435",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4430"
},
"arguments": [
{
"endPosition": "4438",
"kind": "STRING_LITERAL",
"value": "[",
"startPosition": "4437"
}
],
"startPosition": "4430"
},
"endPosition": "4440",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4430"
},
{
"expression": {
"endPosition": "4474",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4459",
"kind": "IDENTIFIER",
"name": "processFiles",
"startPosition": "4447"
},
"arguments": [
{
"endPosition": "4472",
"kind": "STRING_LITERAL",
"value": "parsertests",
"startPosition": "4461"
}
],
"startPosition": "4447"
},
"endPosition": "4474",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4447"
},
{
"expression": {
"endPosition": "4515",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4492",
"kind": "IDENTIFIER",
"name": "processFiles",
"startPosition": "4480"
},
"arguments": [
{
"endPosition": "4513",
"kind": "STRING_LITERAL",
"value": "parsernegativetests",
"startPosition": "4494"
}
],
"startPosition": "4480"
},
"endPosition": "4515",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4480"
},
{
"endPosition": "4584",
"kind": "VARIABLE",
"binding": {
"endPosition": "4562",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "4556"
},
"startPosition": "4552",
"initializer": {
"endPosition": "4584",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4574",
"kind": "IDENTIFIER",
"name": "readFully",
"startPosition": "4565"
},
"arguments": [
{
"endPosition": "4583",
"kind": "IDENTIFIER",
"name": "__FILE__",
"startPosition": "4575"
}
],
"startPosition": "4565"
}
},
{
"endPosition": "4649",
"kind": "VARIABLE",
"binding": {
"endPosition": "4598",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "4594"
},
"startPosition": "4590",
"initializer": {
"endPosition": "4649",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "parse",
"expression": {
"constructorExpression": {
"endPosition": "4613",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4611",
"kind": "IDENTIFIER",
"name": "Parser",
"startPosition": "4605"
},
"arguments": [],
"startPosition": "4605"
},
"endPosition": "4613",
"kind": "NEW",
"startPosition": "4601"
},
"endPosition": "4619",
"kind": "MEMBER_SELECT",
"startPosition": "4601"
},
"arguments": [
{
"endPosition": "4633",
"kind": "STRING_LITERAL",
"value": "parserapi.js",
"startPosition": "4621"
},
{
"endPosition": "4642",
"kind": "IDENTIFIER",
"name": "script",
"startPosition": "4636"
},
{
"endPosition": "4648",
"kind": "NULL_LITERAL",
"startPosition": "4644"
}
],
"startPosition": "4601"
}
},
{
"expression": {
"endPosition": "4691",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4660",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4655"
},
"arguments": [
{
"endPosition": "4690",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"identifier": "stringify",
"expression": {
"endPosition": "4665",
"kind": "IDENTIFIER",
"name": "JSON",
"startPosition": "4661"
},
"endPosition": "4675",
"kind": "MEMBER_SELECT",
"startPosition": "4661"
},
"arguments": [
{
"endPosition": "4680",
"kind": "IDENTIFIER",
"name": "tree",
"startPosition": "4676"
},
{
"endPosition": "4686",
"kind": "NULL_LITERAL",
"startPosition": "4682"
},
{
"endPosition": "4689",
"kind": "NUMBER_LITERAL",
"value": "2",
"startPosition": "4688"
}
],
"startPosition": "4661"
}
],
"startPosition": "4655"
},
"endPosition": "4691",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4655"
},
{
"expression": {
"endPosition": "4707",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4702",
"kind": "IDENTIFIER",
"name": "print",
"startPosition": "4697"
},
"arguments": [
{
"endPosition": "4705",
"kind": "STRING_LITERAL",
"value": "]",
"startPosition": "4704"
}
],
"startPosition": "4697"
},
"endPosition": "4707",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4697"
}
],
"startPosition": "4424"
},
"strict": "false",
"startPosition": "4408",
"parameters": []
},
{
"expression": {
"endPosition": "4718",
"kind": "FUNCTION_INVOCATION",
"functionSelect": {
"endPosition": "4716",
"kind": "IDENTIFIER",
"name": "main",
"startPosition": "4712"
},
"arguments": [],
"startPosition": "4712"
},
"endPosition": "4718",
"kind": "EXPRESSION_STATEMENT",
"startPosition": "4712"
}
],
"sourceName": "parserapi.js",
"strict": "false",
"startPosition": "1136"
}
]