--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/nosecurity/parserapi.js.EXPECTED Mon Mar 09 20:14:10 2015 +0530
@@ -0,0 +1,7015 @@
+[
+{
+ "endPosition": "1113",
+ "kind": "COMPILATION_UNIT",
+ "sourceElements": [
+ {
+ "endPosition": "1123",
+ "kind": "VARIABLE",
+ "name": "x",
+ "startPosition": "1117",
+ "initializer": {
+ "endPosition": "1123",
+ "kind": "ARRAY_LITERAL",
+ "elements": [],
+ "startPosition": "1121"
+ }
+ },
+ {
+ "endPosition": "1147",
+ "kind": "VARIABLE",
+ "name": "y",
+ "startPosition": "1129",
+ "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",
+ "name": "z",
+ "startPosition": "1153",
+ "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",
+ "name": "k",
+ "startPosition": "1171",
+ "initializer": {
+ "endPosition": "1200",
+ "kind": "ARRAY_LITERAL",
+ "elements": [
+ {
+ "endPosition": "1179",
+ "kind": "OBJECT_LITERAL",
+ "startPosition": "1177",
+ "properties": []
+ },
+ {
+ "endPosition": "1189",
+ "kind": "OBJECT_LITERAL",
+ "startPosition": "1181",
+ "properties": [
+ {
+ "endPosition": "1185",
+ "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": "hello",
+ "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": "hello",
+ "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": "hello",
+ "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": "1380",
+ "kind": "FUNCTION",
+ "name": "test",
+ "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": []
+ },
+ {
+ "endPosition": "1282",
+ "kind": "VARIABLE",
+ "name": "hello",
+ "startPosition": "1245",
+ "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",
+ "name": "hello",
+ "startPosition": "1288",
+ "initializer": {
+ "endPosition": "1313",
+ "kind": "FUNCTION_EXPRESSION",
+ "name": "hello",
+ "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"
+ }
+ ],
+ "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": "1143",
+ "kind": "PROPERTY",
+ "value": {
+ "endPosition": "1146",
+ "kind": "NUMBER_LITERAL",
+ "value": "10",
+ "startPosition": "1144"
+ },
+ "startPosition": "1141",
+ "key": {
+ "endPosition": "1142",
+ "kind": "IDENTIFIER",
+ "name": "x",
+ "startPosition": "1141"
+ }
+ },
+ {
+ "endPosition": "1150",
+ "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": "1166",
+ "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": "1175",
+ "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",
+ "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",
+ "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",
+ "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": "1182",
+ "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",
+ "name": "x",
+ "startPosition": "1118",
+ "initializer": {
+ "endPosition": "1127",
+ "kind": "REGEXP_LITERAL",
+ "options": "",
+ "pattern": "foo",
+ "startPosition": "1122"
+ }
+ },
+ {
+ "endPosition": "1143",
+ "kind": "VARIABLE",
+ "name": "y",
+ "startPosition": "1133",
+ "initializer": {
+ "endPosition": "1143",
+ "kind": "REGEXP_LITERAL",
+ "options": "g",
+ "pattern": "foo",
+ "startPosition": "1137"
+ }
+ },
+ {
+ "endPosition": "1168",
+ "kind": "VARIABLE",
+ "name": "z",
+ "startPosition": "1149",
+ "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": "1206",
+ "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": "PLUS",
+ "startPosition": "1163"
+ },
+ "endPosition": "1165",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1163"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1169",
+ "kind": "IDENTIFIER",
+ "name": "x",
+ "startPosition": "1168"
+ },
+ "endPosition": "1169",
+ "kind": "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": [
+ {
+ "endPosition": "1165",
+ "kind": "FUNCTION",
+ "name": "f",
+ "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": []
+ },
+ {
+ "expression": {
+ "endPosition": "1133",
+ "kind": "STRING_LITERAL",
+ "value": "use strict",
+ "startPosition": "1123"
+ },
+ "endPosition": "1133",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1123"
+ }
+ ],
+ "sourceName": "parsertests/useStrict.js",
+ "strict": "true",
+ "startPosition": "1122"
+}
+,
+{
+ "endPosition": "1143",
+ "kind": "COMPILATION_UNIT",
+ "sourceElements": [
+ {
+ "endPosition": "1148",
+ "kind": "VARIABLE",
+ "name": "a",
+ "startPosition": "1147"
+ },
+ {
+ "endPosition": "1155",
+ "kind": "VARIABLE",
+ "name": "a",
+ "startPosition": "1154"
+ },
+ {
+ "endPosition": "1158",
+ "kind": "VARIABLE",
+ "name": "b",
+ "startPosition": "1157"
+ },
+ {
+ "endPosition": "1200",
+ "kind": "VARIABLE",
+ "name": "a",
+ "startPosition": "1190",
+ "initializer": {
+ "endPosition": "1200",
+ "kind": "STRING_LITERAL",
+ "value": "hello",
+ "startPosition": "1195"
+ }
+ },
+ {
+ "endPosition": "1212",
+ "kind": "VARIABLE",
+ "name": "a",
+ "startPosition": "1207",
+ "initializer": {
+ "endPosition": "1212",
+ "kind": "NUMBER_LITERAL",
+ "value": "1",
+ "startPosition": "1211"
+ }
+ },
+ {
+ "endPosition": "1219",
+ "kind": "VARIABLE",
+ "name": "b",
+ "startPosition": "1214",
+ "initializer": {
+ "endPosition": "1219",
+ "kind": "NUMBER_LITERAL",
+ "value": "2",
+ "startPosition": "1218"
+ }
+ },
+ {
+ "endPosition": "1226",
+ "kind": "VARIABLE",
+ "name": "c",
+ "startPosition": "1221",
+ "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",
+ "name": "x",
+ "startPosition": "1108",
+ "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 (1119, 1)",
+ "columnNumber": "14",
+ "kind": "ERROR",
+ "position": "1119",
+ "message": "parsernegativetests/strict_repeatparam.js:31:14 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": "1240",
+ "kind": "FUNCTION",
+ "name": "Parser",
+ "body": {
+ "endPosition": "1218",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1217",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "create",
+ "expression": {
+ "endPosition": "1208",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1202"
+ },
+ "endPosition": "1215",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1202"
+ },
+ "arguments": [],
+ "startPosition": "1202"
+ },
+ "endPosition": "1217",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "_parser",
+ "expression": {
+ "endPosition": "1191",
+ "kind": "IDENTIFIER",
+ "name": "this",
+ "startPosition": "1187"
+ },
+ "endPosition": "1199",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1187"
+ },
+ "startPosition": "1187"
+ },
+ "endPosition": "1217",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1187"
+ }
+ ],
+ "startPosition": "1154"
+ },
+ "strict": "false",
+ "startPosition": "1136",
+ "parameters": []
+ },
+ {
+ "endPosition": "3598",
+ "kind": "FUNCTION",
+ "name": "processFiles",
+ "body": {
+ "endPosition": "3555",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "endPosition": "2938",
+ "kind": "VARIABLE",
+ "name": "File",
+ "startPosition": "2906",
+ "initializer": {
+ "endPosition": "2938",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "2917",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "2913"
+ },
+ "endPosition": "2922",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2913"
+ },
+ "arguments": [
+ {
+ "endPosition": "2936",
+ "kind": "STRING_LITERAL",
+ "value": "java.io.File",
+ "startPosition": "2924"
+ }
+ ],
+ "startPosition": "2913"
+ }
+ },
+ {
+ "endPosition": "2993",
+ "kind": "VARIABLE",
+ "name": "files",
+ "startPosition": "2947",
+ "initializer": {
+ "endPosition": "2993",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "listFiles",
+ "expression": {
+ "constructorExpression": {
+ "endPosition": "2981",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "2963",
+ "kind": "IDENTIFIER",
+ "name": "File",
+ "startPosition": "2959"
+ },
+ "arguments": [
+ {
+ "leftOperand": {
+ "endPosition": "2971",
+ "kind": "IDENTIFIER",
+ "name": "__DIR__",
+ "startPosition": "2964"
+ },
+ "endPosition": "2980",
+ "kind": "PLUS",
+ "rightOperand": {
+ "endPosition": "2980",
+ "kind": "IDENTIFIER",
+ "name": "subdir",
+ "startPosition": "2974"
+ },
+ "startPosition": "2964"
+ }
+ ],
+ "startPosition": "2959"
+ },
+ "endPosition": "2981",
+ "kind": "NEW",
+ "startPosition": "2955"
+ },
+ "endPosition": "2991",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2955"
+ },
+ "arguments": [],
+ "startPosition": "2955"
+ }
+ },
+ {
+ "expression": {
+ "endPosition": "3026",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "sort",
+ "expression": {
+ "identifier": "Arrays",
+ "expression": {
+ "identifier": "util",
+ "expression": {
+ "endPosition": "3002",
+ "kind": "IDENTIFIER",
+ "name": "java",
+ "startPosition": "2998"
+ },
+ "endPosition": "3007",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2998"
+ },
+ "endPosition": "3014",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2998"
+ },
+ "endPosition": "3019",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2998"
+ },
+ "arguments": [
+ {
+ "endPosition": "3025",
+ "kind": "IDENTIFIER",
+ "name": "files",
+ "startPosition": "3020"
+ }
+ ],
+ "startPosition": "2998"
+ },
+ "endPosition": "3026",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2998"
+ },
+ {
+ "endPosition": "3049",
+ "kind": "VARIABLE",
+ "name": "file",
+ "startPosition": "3045"
+ },
+ {
+ "expression": {
+ "endPosition": "3058",
+ "kind": "IDENTIFIER",
+ "name": "files",
+ "startPosition": "3053"
+ },
+ "endPosition": "3555",
+ "kind": "FOR_IN_LOOP",
+ "forEach": "true",
+ "variable": {
+ "endPosition": "3049",
+ "kind": "IDENTIFIER",
+ "name": "file",
+ "startPosition": "3045"
+ },
+ "statement": {
+ "endPosition": "3555",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "condition": {
+ "endPosition": "3098",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "endsWith",
+ "expression": {
+ "identifier": "name",
+ "expression": {
+ "endPosition": "3077",
+ "kind": "IDENTIFIER",
+ "name": "file",
+ "startPosition": "3073"
+ },
+ "endPosition": "3082",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3073"
+ },
+ "endPosition": "3091",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3073"
+ },
+ "arguments": [
+ {
+ "endPosition": "3096",
+ "kind": "STRING_LITERAL",
+ "value": ".js",
+ "startPosition": "3093"
+ }
+ ],
+ "startPosition": "3073"
+ },
+ "endPosition": "3550",
+ "kind": "IF",
+ "startPosition": "3069",
+ "thenStatement": {
+ "endPosition": "3550",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "endPosition": "3141",
+ "kind": "VARIABLE",
+ "name": "script",
+ "startPosition": "3117",
+ "initializer": {
+ "endPosition": "3141",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3135",
+ "kind": "IDENTIFIER",
+ "name": "readFully",
+ "startPosition": "3126"
+ },
+ "arguments": [
+ {
+ "endPosition": "3140",
+ "kind": "IDENTIFIER",
+ "name": "file",
+ "startPosition": "3136"
+ }
+ ],
+ "startPosition": "3126"
+ }
+ },
+ {
+ "endPosition": "3179",
+ "kind": "VARIABLE",
+ "name": "parser",
+ "startPosition": "3158",
+ "initializer": {
+ "constructorExpression": {
+ "endPosition": "3179",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3177",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "3171"
+ },
+ "arguments": [],
+ "startPosition": "3171"
+ },
+ "endPosition": "3179",
+ "kind": "NEW",
+ "startPosition": "3167"
+ }
+ },
+ {
+ "endPosition": "3415",
+ "kind": "VARIABLE",
+ "name": "tree",
+ "startPosition": "3196",
+ "initializer": {
+ "endPosition": "3415",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "parse",
+ "expression": {
+ "endPosition": "3209",
+ "kind": "IDENTIFIER",
+ "name": "parser",
+ "startPosition": "3203"
+ },
+ "endPosition": "3215",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3203"
+ },
+ "arguments": [
+ {
+ "leftOperand": {
+ "leftOperand": {
+ "endPosition": "3222",
+ "kind": "IDENTIFIER",
+ "name": "subdir",
+ "startPosition": "3216"
+ },
+ "endPosition": "3227",
+ "kind": "PLUS",
+ "rightOperand": {
+ "endPosition": "3227",
+ "kind": "STRING_LITERAL",
+ "value": "/",
+ "startPosition": "3226"
+ },
+ "startPosition": "3216"
+ },
+ "endPosition": "3240",
+ "kind": "PLUS",
+ "rightOperand": {
+ "identifier": "name",
+ "expression": {
+ "endPosition": "3235",
+ "kind": "IDENTIFIER",
+ "name": "file",
+ "startPosition": "3231"
+ },
+ "endPosition": "3240",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3231"
+ },
+ "startPosition": "3216"
+ },
+ {
+ "endPosition": "3248",
+ "kind": "IDENTIFIER",
+ "name": "script",
+ "startPosition": "3242"
+ },
+ {
+ "endPosition": "3286",
+ "kind": "FUNCTION_EXPRESSION",
+ "body": {
+ "endPosition": "3397",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "endPosition": "3365",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3312",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3307"
+ },
+ "arguments": [
+ {
+ "endPosition": "3364",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "stringify",
+ "expression": {
+ "endPosition": "3317",
+ "kind": "IDENTIFIER",
+ "name": "JSON",
+ "startPosition": "3313"
+ },
+ "endPosition": "3327",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3313"
+ },
+ "arguments": [
+ {
+ "endPosition": "3354",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "convert",
+ "expression": {
+ "endPosition": "3334",
+ "kind": "IDENTIFIER",
+ "name": "parser",
+ "startPosition": "3328"
+ },
+ "endPosition": "3342",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3328"
+ },
+ "arguments": [
+ {
+ "endPosition": "3353",
+ "kind": "IDENTIFIER",
+ "name": "diagnostic",
+ "startPosition": "3343"
+ }
+ ],
+ "startPosition": "3328"
+ },
+ {
+ "endPosition": "3360",
+ "kind": "NULL_LITERAL",
+ "startPosition": "3356"
+ },
+ {
+ "endPosition": "3363",
+ "kind": "NUMBER_LITERAL",
+ "value": "2",
+ "startPosition": "3362"
+ }
+ ],
+ "startPosition": "3313"
+ }
+ ],
+ "startPosition": "3307"
+ },
+ "endPosition": "3365",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3307"
+ },
+ {
+ "expression": {
+ "endPosition": "3396",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3391",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3386"
+ },
+ "arguments": [
+ {
+ "endPosition": "3394",
+ "kind": "STRING_LITERAL",
+ "value": ",",
+ "startPosition": "3393"
+ }
+ ],
+ "startPosition": "3386"
+ },
+ "endPosition": "3396",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3386"
+ }
+ ],
+ "startPosition": "3286"
+ },
+ "strict": "false",
+ "startPosition": "3286",
+ "parameters": [
+ {
+ "endPosition": "3284",
+ "kind": "IDENTIFIER",
+ "name": "diagnostic",
+ "startPosition": "3274"
+ }
+ ]
+ }
+ ],
+ "startPosition": "3203"
+ }
+ },
+ {
+ "condition": {
+ "leftOperand": {
+ "endPosition": "3437",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "3433"
+ },
+ "endPosition": "3445",
+ "kind": "NOT_EQUAL_TO",
+ "rightOperand": {
+ "endPosition": "3445",
+ "kind": "NULL_LITERAL",
+ "startPosition": "3441"
+ },
+ "startPosition": "3433"
+ },
+ "endPosition": "3541",
+ "kind": "IF",
+ "startPosition": "3429",
+ "thenStatement": {
+ "endPosition": "3541",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "endPosition": "3500",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3469",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3464"
+ },
+ "arguments": [
+ {
+ "endPosition": "3499",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "stringify",
+ "expression": {
+ "endPosition": "3474",
+ "kind": "IDENTIFIER",
+ "name": "JSON",
+ "startPosition": "3470"
+ },
+ "endPosition": "3484",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3470"
+ },
+ "arguments": [
+ {
+ "endPosition": "3489",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "3485"
+ },
+ {
+ "endPosition": "3495",
+ "kind": "NULL_LITERAL",
+ "startPosition": "3491"
+ },
+ {
+ "endPosition": "3498",
+ "kind": "NUMBER_LITERAL",
+ "value": "2",
+ "startPosition": "3497"
+ }
+ ],
+ "startPosition": "3470"
+ }
+ ],
+ "startPosition": "3464"
+ },
+ "endPosition": "3500",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3464"
+ },
+ {
+ "expression": {
+ "endPosition": "3527",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3522",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3517"
+ },
+ "arguments": [
+ {
+ "endPosition": "3525",
+ "kind": "STRING_LITERAL",
+ "value": ",",
+ "startPosition": "3524"
+ }
+ ],
+ "startPosition": "3517"
+ },
+ "endPosition": "3527",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3517"
+ }
+ ],
+ "startPosition": "3447"
+ }
+ }
+ ],
+ "startPosition": "3100"
+ }
+ }
+ ],
+ "startPosition": "3060"
+ },
+ "startPosition": "3031"
+ }
+ ],
+ "startPosition": "2897"
+ },
+ "strict": "false",
+ "startPosition": "2867",
+ "parameters": [
+ {
+ "endPosition": "2895",
+ "kind": "IDENTIFIER",
+ "name": "subdir",
+ "startPosition": "2889"
+ }
+ ]
+ },
+ {
+ "endPosition": "3901",
+ "kind": "FUNCTION",
+ "name": "main",
+ "body": {
+ "endPosition": "3899",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "endPosition": "3631",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3626",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3621"
+ },
+ "arguments": [
+ {
+ "endPosition": "3629",
+ "kind": "STRING_LITERAL",
+ "value": "[",
+ "startPosition": "3628"
+ }
+ ],
+ "startPosition": "3621"
+ },
+ "endPosition": "3631",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3621"
+ },
+ {
+ "expression": {
+ "endPosition": "3665",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3650",
+ "kind": "IDENTIFIER",
+ "name": "processFiles",
+ "startPosition": "3638"
+ },
+ "arguments": [
+ {
+ "endPosition": "3663",
+ "kind": "STRING_LITERAL",
+ "value": "parsertests",
+ "startPosition": "3652"
+ }
+ ],
+ "startPosition": "3638"
+ },
+ "endPosition": "3665",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3638"
+ },
+ {
+ "expression": {
+ "endPosition": "3706",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3683",
+ "kind": "IDENTIFIER",
+ "name": "processFiles",
+ "startPosition": "3671"
+ },
+ "arguments": [
+ {
+ "endPosition": "3704",
+ "kind": "STRING_LITERAL",
+ "value": "parsernegativetests",
+ "startPosition": "3685"
+ }
+ ],
+ "startPosition": "3671"
+ },
+ "endPosition": "3706",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3671"
+ },
+ {
+ "endPosition": "3775",
+ "kind": "VARIABLE",
+ "name": "script",
+ "startPosition": "3747",
+ "initializer": {
+ "endPosition": "3775",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3765",
+ "kind": "IDENTIFIER",
+ "name": "readFully",
+ "startPosition": "3756"
+ },
+ "arguments": [
+ {
+ "endPosition": "3774",
+ "kind": "IDENTIFIER",
+ "name": "__FILE__",
+ "startPosition": "3766"
+ }
+ ],
+ "startPosition": "3756"
+ }
+ },
+ {
+ "endPosition": "3840",
+ "kind": "VARIABLE",
+ "name": "tree",
+ "startPosition": "3785",
+ "initializer": {
+ "endPosition": "3840",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "parse",
+ "expression": {
+ "constructorExpression": {
+ "endPosition": "3804",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3802",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "3796"
+ },
+ "arguments": [],
+ "startPosition": "3796"
+ },
+ "endPosition": "3804",
+ "kind": "NEW",
+ "startPosition": "3792"
+ },
+ "endPosition": "3810",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3792"
+ },
+ "arguments": [
+ {
+ "endPosition": "3824",
+ "kind": "STRING_LITERAL",
+ "value": "parserapi.js",
+ "startPosition": "3812"
+ },
+ {
+ "endPosition": "3833",
+ "kind": "IDENTIFIER",
+ "name": "script",
+ "startPosition": "3827"
+ },
+ {
+ "endPosition": "3839",
+ "kind": "NULL_LITERAL",
+ "startPosition": "3835"
+ }
+ ],
+ "startPosition": "3792"
+ }
+ },
+ {
+ "expression": {
+ "endPosition": "3882",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3851",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3846"
+ },
+ "arguments": [
+ {
+ "endPosition": "3881",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "stringify",
+ "expression": {
+ "endPosition": "3856",
+ "kind": "IDENTIFIER",
+ "name": "JSON",
+ "startPosition": "3852"
+ },
+ "endPosition": "3866",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "3852"
+ },
+ "arguments": [
+ {
+ "endPosition": "3871",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "3867"
+ },
+ {
+ "endPosition": "3877",
+ "kind": "NULL_LITERAL",
+ "startPosition": "3873"
+ },
+ {
+ "endPosition": "3880",
+ "kind": "NUMBER_LITERAL",
+ "value": "2",
+ "startPosition": "3879"
+ }
+ ],
+ "startPosition": "3852"
+ }
+ ],
+ "startPosition": "3846"
+ },
+ "endPosition": "3882",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3846"
+ },
+ {
+ "expression": {
+ "endPosition": "3898",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3893",
+ "kind": "IDENTIFIER",
+ "name": "print",
+ "startPosition": "3888"
+ },
+ "arguments": [
+ {
+ "endPosition": "3896",
+ "kind": "STRING_LITERAL",
+ "value": "]",
+ "startPosition": "3895"
+ }
+ ],
+ "startPosition": "3888"
+ },
+ "endPosition": "3898",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3888"
+ }
+ ],
+ "startPosition": "3615"
+ },
+ "strict": "false",
+ "startPosition": "3599",
+ "parameters": []
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1305",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1265",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1261"
+ },
+ "endPosition": "1270",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1261"
+ },
+ "arguments": [
+ {
+ "endPosition": "1303",
+ "kind": "STRING_LITERAL",
+ "value": "jdk.nashorn.api.tree.Diagnostic",
+ "startPosition": "1272"
+ }
+ ],
+ "startPosition": "1261"
+ },
+ "endPosition": "1305",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "Diagnostic",
+ "expression": {
+ "endPosition": "1247",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1241"
+ },
+ "endPosition": "1258",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1241"
+ },
+ "startPosition": "1241"
+ },
+ "endPosition": "1305",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1241"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1390",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1338",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1334"
+ },
+ "endPosition": "1343",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1334"
+ },
+ "arguments": [
+ {
+ "endPosition": "1388",
+ "kind": "STRING_LITERAL",
+ "value": "jdk.nashorn.api.tree.SimpleTreeVisitorES5_1",
+ "startPosition": "1345"
+ }
+ ],
+ "startPosition": "1334"
+ },
+ "endPosition": "1390",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "SimpleTreeVisitor",
+ "expression": {
+ "endPosition": "1313",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1307"
+ },
+ "endPosition": "1331",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1307"
+ },
+ "startPosition": "1307"
+ },
+ "endPosition": "1390",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1307"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1444",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1410",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1406"
+ },
+ "endPosition": "1415",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1406"
+ },
+ "arguments": [
+ {
+ "endPosition": "1442",
+ "kind": "STRING_LITERAL",
+ "value": "jdk.nashorn.api.tree.Tree",
+ "startPosition": "1417"
+ }
+ ],
+ "startPosition": "1406"
+ },
+ "endPosition": "1444",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "Tree",
+ "expression": {
+ "endPosition": "1398",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1392"
+ },
+ "endPosition": "1403",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1392"
+ },
+ "startPosition": "1392"
+ },
+ "endPosition": "1444",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1392"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1487",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1464",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1460"
+ },
+ "endPosition": "1469",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1460"
+ },
+ "arguments": [
+ {
+ "endPosition": "1485",
+ "kind": "STRING_LITERAL",
+ "value": "java.util.List",
+ "startPosition": "1471"
+ }
+ ],
+ "startPosition": "1460"
+ },
+ "endPosition": "1487",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "List",
+ "expression": {
+ "endPosition": "1452",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1446"
+ },
+ "endPosition": "1457",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1446"
+ },
+ "startPosition": "1446"
+ },
+ "endPosition": "1487",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1446"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1530",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1507",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1503"
+ },
+ "endPosition": "1512",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1503"
+ },
+ "arguments": [
+ {
+ "endPosition": "1528",
+ "kind": "STRING_LITERAL",
+ "value": "java.lang.Enum",
+ "startPosition": "1514"
+ }
+ ],
+ "startPosition": "1503"
+ },
+ "endPosition": "1530",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "Enum",
+ "expression": {
+ "endPosition": "1495",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1489"
+ },
+ "endPosition": "1500",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1489"
+ },
+ "startPosition": "1489"
+ },
+ "endPosition": "1530",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1489"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1657",
+ "kind": "FUNCTION_EXPRESSION",
+ "body": {
+ "endPosition": "1803",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "endPosition": "1716",
+ "kind": "VARIABLE",
+ "name": "tree",
+ "startPosition": "1667",
+ "initializer": {
+ "endPosition": "1716",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "parse",
+ "expression": {
+ "identifier": "_parser",
+ "expression": {
+ "endPosition": "1678",
+ "kind": "IDENTIFIER",
+ "name": "this",
+ "startPosition": "1674"
+ },
+ "endPosition": "1686",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1674"
+ },
+ "endPosition": "1692",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1674"
+ },
+ "arguments": [
+ {
+ "endPosition": "1697",
+ "kind": "IDENTIFIER",
+ "name": "name",
+ "startPosition": "1693"
+ },
+ {
+ "endPosition": "1705",
+ "kind": "IDENTIFIER",
+ "name": "script",
+ "startPosition": "1699"
+ },
+ {
+ "endPosition": "1715",
+ "kind": "IDENTIFIER",
+ "name": "listener",
+ "startPosition": "1707"
+ }
+ ],
+ "startPosition": "1674"
+ }
+ },
+ {
+ "expression": {
+ "endPosition": "1771",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "accept",
+ "expression": {
+ "endPosition": "1726",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "1722"
+ },
+ "endPosition": "1733",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1722"
+ },
+ "arguments": [
+ {
+ "constructorExpression": {
+ "endPosition": "1764",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "SimpleTreeVisitor",
+ "expression": {
+ "endPosition": "1744",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1738"
+ },
+ "endPosition": "1762",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1738"
+ },
+ "arguments": [],
+ "startPosition": "1744"
+ },
+ "endPosition": "1764",
+ "kind": "NEW",
+ "startPosition": "1734"
+ },
+ {
+ "endPosition": "1770",
+ "kind": "NULL_LITERAL",
+ "startPosition": "1766"
+ }
+ ],
+ "startPosition": "1722"
+ },
+ "endPosition": "1771",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1722"
+ },
+ {
+ "expression": {
+ "endPosition": "1802",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "convert",
+ "expression": {
+ "endPosition": "1788",
+ "kind": "IDENTIFIER",
+ "name": "this",
+ "startPosition": "1784"
+ },
+ "endPosition": "1796",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1784"
+ },
+ "arguments": [
+ {
+ "endPosition": "1801",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "1797"
+ }
+ ],
+ "startPosition": "1784"
+ },
+ "endPosition": "1803",
+ "kind": "RETURN",
+ "startPosition": "1777"
+ }
+ ],
+ "startPosition": "1657"
+ },
+ "strict": "false",
+ "startPosition": "1657",
+ "parameters": [
+ {
+ "endPosition": "1637",
+ "kind": "IDENTIFIER",
+ "name": "name",
+ "startPosition": "1633"
+ },
+ {
+ "endPosition": "1645",
+ "kind": "IDENTIFIER",
+ "name": "script",
+ "startPosition": "1639"
+ },
+ {
+ "endPosition": "1655",
+ "kind": "IDENTIFIER",
+ "name": "listener",
+ "startPosition": "1647"
+ }
+ ]
+ },
+ "endPosition": "1657",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "parse",
+ "expression": {
+ "identifier": "prototype",
+ "expression": {
+ "endPosition": "1605",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1599"
+ },
+ "endPosition": "1615",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1599"
+ },
+ "endPosition": "1621",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1599"
+ },
+ "startPosition": "1599"
+ },
+ "endPosition": "1805",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1599"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "1834",
+ "kind": "FUNCTION_EXPRESSION",
+ "body": {
+ "endPosition": "1897",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "endPosition": "1896",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "create",
+ "expression": {
+ "endPosition": "1887",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "type",
+ "expression": {
+ "endPosition": "1851",
+ "kind": "IDENTIFIER",
+ "name": "Java",
+ "startPosition": "1847"
+ },
+ "endPosition": "1856",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1847"
+ },
+ "arguments": [
+ {
+ "endPosition": "1885",
+ "kind": "STRING_LITERAL",
+ "value": "jdk.nashorn.api.tree.Parser",
+ "startPosition": "1858"
+ }
+ ],
+ "startPosition": "1847"
+ },
+ "endPosition": "1894",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1847"
+ },
+ "arguments": [],
+ "startPosition": "1894"
+ },
+ "endPosition": "1897",
+ "kind": "RETURN",
+ "startPosition": "1840"
+ }
+ ],
+ "startPosition": "1834"
+ },
+ "strict": "false",
+ "startPosition": "1834",
+ "parameters": []
+ },
+ "endPosition": "1834",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "create",
+ "expression": {
+ "endPosition": "1813",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1807"
+ },
+ "endPosition": "1820",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1807"
+ },
+ "startPosition": "1807"
+ },
+ "endPosition": "1971",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1807"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2014",
+ "kind": "FUNCTION_EXPRESSION",
+ "body": {
+ "endPosition": "2863",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "condition": {
+ "leftOperand": {
+ "expression": {
+ "endPosition": "2029",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "2025"
+ },
+ "endPosition": "2029",
+ "kind": "LOGICAL_COMPLEMENT",
+ "startPosition": "2024"
+ },
+ "endPosition": "2055",
+ "kind": "CONDITIONAL_OR",
+ "rightOperand": {
+ "leftOperand": {
+ "expression": {
+ "endPosition": "2044",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "2040"
+ },
+ "endPosition": "2044",
+ "kind": "TYPEOF",
+ "startPosition": "2033"
+ },
+ "endPosition": "2055",
+ "kind": "NOT_EQUAL_TO",
+ "rightOperand": {
+ "endPosition": "2055",
+ "kind": "STRING_LITERAL",
+ "value": "object",
+ "startPosition": "2049"
+ },
+ "startPosition": "2033"
+ },
+ "startPosition": "2024"
+ },
+ "endPosition": "2086",
+ "kind": "IF",
+ "startPosition": "2020",
+ "thenStatement": {
+ "endPosition": "2086",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "endPosition": "2079",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "2075"
+ },
+ "endPosition": "2080",
+ "kind": "RETURN",
+ "startPosition": "2068"
+ }
+ ],
+ "startPosition": "2058"
+ }
+ },
+ {
+ "endPosition": "2133",
+ "kind": "VARIABLE",
+ "name": "obj",
+ "startPosition": "2096",
+ "initializer": {
+ "endPosition": "2133",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "bindProperties",
+ "expression": {
+ "endPosition": "2108",
+ "kind": "IDENTIFIER",
+ "name": "Object",
+ "startPosition": "2102"
+ },
+ "endPosition": "2123",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2102"
+ },
+ "arguments": [
+ {
+ "endPosition": "2126",
+ "kind": "OBJECT_LITERAL",
+ "startPosition": "2124",
+ "properties": []
+ },
+ {
+ "endPosition": "2132",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "2128"
+ }
+ ],
+ "startPosition": "2102"
+ }
+ },
+ {
+ "endPosition": "2154",
+ "kind": "VARIABLE",
+ "name": "result",
+ "startPosition": "2143",
+ "initializer": {
+ "endPosition": "2154",
+ "kind": "OBJECT_LITERAL",
+ "startPosition": "2152",
+ "properties": []
+ }
+ },
+ {
+ "endPosition": "2170",
+ "kind": "VARIABLE",
+ "name": "i",
+ "startPosition": "2169"
+ },
+ {
+ "expression": {
+ "endPosition": "2177",
+ "kind": "IDENTIFIER",
+ "name": "obj",
+ "startPosition": "2174"
+ },
+ "endPosition": "2845",
+ "kind": "FOR_IN_LOOP",
+ "forEach": "false",
+ "variable": {
+ "endPosition": "2170",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2169"
+ },
+ "statement": {
+ "endPosition": "2845",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "endPosition": "2204",
+ "kind": "VARIABLE",
+ "name": "val",
+ "startPosition": "2192",
+ "initializer": {
+ "expression": {
+ "endPosition": "2201",
+ "kind": "IDENTIFIER",
+ "name": "obj",
+ "startPosition": "2198"
+ },
+ "endPosition": "2204",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2203",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2202"
+ },
+ "startPosition": "2198"
+ }
+ },
+ {
+ "condition": {
+ "leftOperand": {
+ "endPosition": "2220",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2217"
+ },
+ "expression": {
+ "endPosition": "2220",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2217"
+ },
+ "endPosition": "2243",
+ "kind": "INSTANCE_OF",
+ "rightOperand": {
+ "identifier": "Tree",
+ "expression": {
+ "endPosition": "2238",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2232"
+ },
+ "endPosition": "2243",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2232"
+ },
+ "type": {
+ "identifier": "Tree",
+ "expression": {
+ "endPosition": "2238",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2232"
+ },
+ "endPosition": "2243",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2232"
+ },
+ "startPosition": "2217"
+ },
+ "elseStatement": {
+ "condition": {
+ "leftOperand": {
+ "endPosition": "2309",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2306"
+ },
+ "expression": {
+ "endPosition": "2309",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2306"
+ },
+ "endPosition": "2332",
+ "kind": "INSTANCE_OF",
+ "rightOperand": {
+ "identifier": "List",
+ "expression": {
+ "endPosition": "2327",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2321"
+ },
+ "endPosition": "2332",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2321"
+ },
+ "type": {
+ "identifier": "List",
+ "expression": {
+ "endPosition": "2327",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2321"
+ },
+ "endPosition": "2332",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2321"
+ },
+ "startPosition": "2306"
+ },
+ "elseStatement": {
+ "endPosition": "2840",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "cases": [
+ {
+ "expression": {
+ "endPosition": "2574",
+ "kind": "STRING_LITERAL",
+ "value": "number",
+ "startPosition": "2568"
+ },
+ "endPosition": "2576",
+ "kind": "CASE",
+ "statements": [],
+ "startPosition": "2562"
+ },
+ {
+ "expression": {
+ "endPosition": "2603",
+ "kind": "STRING_LITERAL",
+ "value": "string",
+ "startPosition": "2597"
+ },
+ "endPosition": "2605",
+ "kind": "CASE",
+ "statements": [],
+ "startPosition": "2591"
+ },
+ {
+ "expression": {
+ "endPosition": "2633",
+ "kind": "STRING_LITERAL",
+ "value": "boolean",
+ "startPosition": "2626"
+ },
+ "endPosition": "2678",
+ "kind": "CASE",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2677",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "2672",
+ "kind": "IDENTIFIER",
+ "name": "String",
+ "startPosition": "2666"
+ },
+ "arguments": [
+ {
+ "endPosition": "2676",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2673"
+ }
+ ],
+ "startPosition": "2666"
+ },
+ "endPosition": "2677",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "expression": {
+ "endPosition": "2660",
+ "kind": "IDENTIFIER",
+ "name": "result",
+ "startPosition": "2654"
+ },
+ "endPosition": "2663",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2662",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2661"
+ },
+ "startPosition": "2654"
+ },
+ "startPosition": "2654"
+ },
+ "endPosition": "2677",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2654"
+ }
+ ],
+ "startPosition": "2620"
+ },
+ {
+ "endPosition": "2820",
+ "kind": "CASE",
+ "statements": [
+ {
+ "condition": {
+ "leftOperand": {
+ "endPosition": "2727",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2724"
+ },
+ "expression": {
+ "endPosition": "2727",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2724"
+ },
+ "endPosition": "2750",
+ "kind": "INSTANCE_OF",
+ "rightOperand": {
+ "identifier": "Enum",
+ "expression": {
+ "endPosition": "2745",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2739"
+ },
+ "endPosition": "2750",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2739"
+ },
+ "type": {
+ "identifier": "Enum",
+ "expression": {
+ "endPosition": "2745",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "2739"
+ },
+ "endPosition": "2750",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2739"
+ },
+ "startPosition": "2724"
+ },
+ "endPosition": "2820",
+ "kind": "IF",
+ "startPosition": "2720",
+ "thenStatement": {
+ "endPosition": "2820",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2799",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "2794",
+ "kind": "IDENTIFIER",
+ "name": "String",
+ "startPosition": "2788"
+ },
+ "arguments": [
+ {
+ "endPosition": "2798",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2795"
+ }
+ ],
+ "startPosition": "2788"
+ },
+ "endPosition": "2799",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "expression": {
+ "endPosition": "2782",
+ "kind": "IDENTIFIER",
+ "name": "result",
+ "startPosition": "2776"
+ },
+ "endPosition": "2785",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2784",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2783"
+ },
+ "startPosition": "2776"
+ },
+ "startPosition": "2776"
+ },
+ "endPosition": "2799",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2776"
+ }
+ ],
+ "startPosition": "2752"
+ }
+ }
+ ],
+ "startPosition": "2693"
+ }
+ ],
+ "expression": {
+ "expression": {
+ "endPosition": "2544",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2541"
+ },
+ "endPosition": "2544",
+ "kind": "TYPEOF",
+ "startPosition": "2534"
+ },
+ "endPosition": "2832",
+ "kind": "SWITCH",
+ "startPosition": "2526"
+ }
+ ],
+ "startPosition": "2514"
+ },
+ "endPosition": "2840",
+ "kind": "IF",
+ "startPosition": "2302",
+ "thenStatement": {
+ "endPosition": "2508",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "endPosition": "2377",
+ "kind": "VARIABLE",
+ "name": "arr",
+ "startPosition": "2350",
+ "initializer": {
+ "constructorExpression": {
+ "endPosition": "2377",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "2365",
+ "kind": "IDENTIFIER",
+ "name": "Array",
+ "startPosition": "2360"
+ },
+ "arguments": [
+ {
+ "endPosition": "2376",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "size",
+ "expression": {
+ "endPosition": "2369",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2366"
+ },
+ "endPosition": "2374",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2366"
+ },
+ "arguments": [],
+ "startPosition": "2366"
+ }
+ ],
+ "startPosition": "2360"
+ },
+ "endPosition": "2377",
+ "kind": "NEW",
+ "startPosition": "2356"
+ }
+ },
+ {
+ "endPosition": "2399",
+ "kind": "VARIABLE",
+ "name": "j",
+ "startPosition": "2398"
+ },
+ {
+ "expression": {
+ "endPosition": "2406",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2403"
+ },
+ "endPosition": "2466",
+ "kind": "FOR_IN_LOOP",
+ "forEach": "false",
+ "variable": {
+ "endPosition": "2399",
+ "kind": "IDENTIFIER",
+ "name": "j",
+ "startPosition": "2398"
+ },
+ "statement": {
+ "endPosition": "2466",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2453",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "convert",
+ "expression": {
+ "endPosition": "2437",
+ "kind": "IDENTIFIER",
+ "name": "this",
+ "startPosition": "2433"
+ },
+ "endPosition": "2445",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2433"
+ },
+ "arguments": [
+ {
+ "expression": {
+ "endPosition": "2449",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2446"
+ },
+ "endPosition": "2452",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2451",
+ "kind": "IDENTIFIER",
+ "name": "j",
+ "startPosition": "2450"
+ },
+ "startPosition": "2446"
+ }
+ ],
+ "startPosition": "2433"
+ },
+ "endPosition": "2453",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "expression": {
+ "endPosition": "2427",
+ "kind": "IDENTIFIER",
+ "name": "arr",
+ "startPosition": "2424"
+ },
+ "endPosition": "2430",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2429",
+ "kind": "IDENTIFIER",
+ "name": "j",
+ "startPosition": "2428"
+ },
+ "startPosition": "2424"
+ },
+ "startPosition": "2424"
+ },
+ "endPosition": "2453",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2424"
+ }
+ ],
+ "startPosition": "2408"
+ },
+ "startPosition": "2389"
+ },
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2499",
+ "kind": "IDENTIFIER",
+ "name": "arr",
+ "startPosition": "2496"
+ },
+ "endPosition": "2499",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "expression": {
+ "endPosition": "2490",
+ "kind": "IDENTIFIER",
+ "name": "result",
+ "startPosition": "2484"
+ },
+ "endPosition": "2493",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2492",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2491"
+ },
+ "startPosition": "2484"
+ },
+ "startPosition": "2484"
+ },
+ "endPosition": "2499",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2484"
+ }
+ ],
+ "startPosition": "2334"
+ }
+ },
+ "endPosition": "2840",
+ "kind": "IF",
+ "startPosition": "2213",
+ "thenStatement": {
+ "endPosition": "2296",
+ "kind": "BLOCK",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "endPosition": "2286",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "identifier": "convert",
+ "expression": {
+ "endPosition": "2273",
+ "kind": "IDENTIFIER",
+ "name": "this",
+ "startPosition": "2269"
+ },
+ "endPosition": "2281",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "2269"
+ },
+ "arguments": [
+ {
+ "endPosition": "2285",
+ "kind": "IDENTIFIER",
+ "name": "val",
+ "startPosition": "2282"
+ }
+ ],
+ "startPosition": "2269"
+ },
+ "endPosition": "2286",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "expression": {
+ "endPosition": "2263",
+ "kind": "IDENTIFIER",
+ "name": "result",
+ "startPosition": "2257"
+ },
+ "endPosition": "2266",
+ "kind": "ARRAY_ACCESS",
+ "index": {
+ "endPosition": "2265",
+ "kind": "IDENTIFIER",
+ "name": "i",
+ "startPosition": "2264"
+ },
+ "startPosition": "2257"
+ },
+ "startPosition": "2257"
+ },
+ "endPosition": "2286",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "2257"
+ }
+ ],
+ "startPosition": "2245"
+ }
+ }
+ ],
+ "startPosition": "2179"
+ },
+ "startPosition": "2160"
+ },
+ {
+ "expression": {
+ "endPosition": "2862",
+ "kind": "IDENTIFIER",
+ "name": "result",
+ "startPosition": "2856"
+ },
+ "endPosition": "2863",
+ "kind": "RETURN",
+ "startPosition": "2849"
+ }
+ ],
+ "startPosition": "2014"
+ },
+ "strict": "false",
+ "startPosition": "2014",
+ "parameters": [
+ {
+ "endPosition": "2012",
+ "kind": "IDENTIFIER",
+ "name": "tree",
+ "startPosition": "2008"
+ }
+ ]
+ },
+ "endPosition": "2014",
+ "kind": "ASSIGNMENT",
+ "variable": {
+ "identifier": "convert",
+ "expression": {
+ "identifier": "prototype",
+ "expression": {
+ "endPosition": "1978",
+ "kind": "IDENTIFIER",
+ "name": "Parser",
+ "startPosition": "1972"
+ },
+ "endPosition": "1988",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1972"
+ },
+ "endPosition": "1996",
+ "kind": "MEMBER_SELECT",
+ "startPosition": "1972"
+ },
+ "startPosition": "1972"
+ },
+ "endPosition": "2865",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "1972"
+ },
+ {
+ "expression": {
+ "endPosition": "3909",
+ "kind": "FUNCTION_INVOCATION",
+ "functionSelect": {
+ "endPosition": "3907",
+ "kind": "IDENTIFIER",
+ "name": "main",
+ "startPosition": "3903"
+ },
+ "arguments": [],
+ "startPosition": "3903"
+ },
+ "endPosition": "3909",
+ "kind": "EXPRESSION_STATEMENT",
+ "startPosition": "3903"
+ }
+ ],
+ "sourceName": "parserapi.js",
+ "strict": "false",
+ "startPosition": "1136"
+}
+]