Token { kind: LeftBrace, position: Position { index: 54, line: 7, col: 1 } }
Token { kind: At, position: Position { index: 60, line: 8, col: 5 } }
Token { kind: Identifier("foo"), position: Position { index: 61, line: 8, col: 6 } }
Token { kind: At, position: Position { index: 75, line: 8, col: 20 } }
Token { kind: Identifier("optional"), position: Position { index: 76, line: 8, col: 21 } }
Token { kind: At, position: Position { index: 89, line: 9, col: 5 } }
Token { kind: Identifier("null"), position: Position { index: 90, line: 9, col: 6 } }
Token { kind: LeftParen, position: Position { index: 94, line: 9, col: 10 } }
Token { kind: Identifier("null"), position: Position { index: 95, line: 9, col: 11 } }
Token { kind: RightParen, position: Position { index: 99, line: 9, col: 15 } }
Token { kind: At, position: Position { index: 128, line: 10, col: 5 } }
Token { kind: Identifier("bool"), position: Position { index: 129, line: 10, col: 6 } }
Token { kind: LeftParen, position: Position { index: 133, line: 10, col: 10 } }
Token { kind: Identifier("true"), position: Position { index: 134, line: 10, col: 11 } }
Token { kind: RightParen, position: Position { index: 138, line: 10, col: 15 } }
Token { kind: At, position: Position { index: 144, line: 11, col: 5 } }
Token { kind: Identifier("float"), position: Position { index: 145, line: 11, col: 6 } }
Token { kind: LeftParen, position: Position { index: 150, line: 11, col: 11 } }
Token { kind: FloatLiteral(3.14), position: Position { index: 151, line: 11, col: 12 } }
Token { kind: RightParen, position: Position { index: 155, line: 11, col: 16 } }
Token { kind: At, position: Position { index: 161, line: 12, col: 5 } }
Token { kind: Identifier("number"), position: Position { index: 162, line: 12, col: 6 } }
Token { kind: LeftParen, position: Position { index: 168, line: 12, col: 12 } }
Token { kind: IntegerLiteral(-3), position: Position { index: 169, line: 12, col: 13 } }
Token { kind: RightParen, position: Position { index: 171, line: 12, col: 15 } }
Token { kind: At, position: Position { index: 177, line: 13, col: 5 } }
Token { kind: Identifier("string"), position: Position { index: 178, line: 13, col: 6 } }
Token { kind: LeftParen, position: Position { index: 184, line: 13, col: 12 } }
Token { kind: StringLiteral("abc \"def\" ghi"), position: Position { index: 185, line: 13, col: 13 } }
Token { kind: RightParen, position: Position { index: 200, line: 13, col: 28 } }
Token { kind: At, position: Position { index: 206, line: 14, col: 5 } }
Token { kind: Identifier("array"), position: Position { index: 207, line: 14, col: 6 } }
Token { kind: LeftParen, position: Position { index: 212, line: 14, col: 11 } }
Token { kind: LeftBracket, position: Position { index: 213, line: 14, col: 12 } }
Token { kind: IntegerLiteral(3), position: Position { index: 214, line: 14, col: 13 } }
Token { kind: Comma, position: Position { index: 215, line: 14, col: 14 } }
Token { kind: IntegerLiteral(4), position: Position { index: 216, line: 14, col: 15 } }
Token { kind: RightBracket, position: Position { index: 217, line: 14, col: 16 } }
Token { kind: RightParen, position: Position { index: 218, line: 14, col: 17 } }
Token { kind: At, position: Position { index: 224, line: 15, col: 5 } }
Token { kind: Identifier("object"), position: Position { index: 225, line: 15, col: 6 } }
Token { kind: LeftParen, position: Position { index: 231, line: 15, col: 12 } }
Token { kind: LeftBrace, position: Position { index: 232, line: 15, col: 13 } }
Token { kind: Identifier("k"), position: Position { index: 233, line: 15, col: 14 } }
Token { kind: Colon, position: Position { index: 234, line: 15, col: 15 } }
Token { kind: StringLiteral("v"), position: Position { index: 236, line: 15, col: 17 } }
Token { kind: RightBrace, position: Position { index: 239, line: 15, col: 20 } }
Token { kind: RightParen, position: Position { index: 240, line: 15, col: 21 } }
Token { kind: Identifier("nullValue"), position: Position { index: 247, line: 17, col: 5 } }
Token { kind: Colon, position: Position { index: 256, line: 17, col: 14 } }
Token { kind: Identifier("null"), position: Position { index: 258, line: 17, col: 16 } }
Token { kind: Comma, position: Position { index: 262, line: 17, col: 20 } }
Token { kind: Identifier("boolTrue"), position: Position { index: 268, line: 18, col: 5 } }
Token { kind: Colon, position: Position { index: 276, line: 18, col: 13 } }
Token { kind: Identifier("true"), position: Position { index: 278, line: 18, col: 15 } }
Token { kind: Comma, position: Position { index: 282, line: 18, col: 19 } }
Token { kind: Identifier("boolFale"), position: Position { index: 288, line: 19, col: 5 } }
Token { kind: Colon, position: Position { index: 296, line: 19, col: 13 } }
Token { kind: Identifier("false"), position: Position { index: 298, line: 19, col: 15 } }
Token { kind: Comma, position: Position { index: 303, line: 19, col: 20 } }
Token { kind: Identifier("float"), position: Position { index: 309, line: 20, col: 5 } }
Token { kind: Colon, position: Position { index: 314, line: 20, col: 10 } }
Token { kind: FloatLiteral(3.14), position: Position { index: 316, line: 20, col: 12 } }
Token { kind: Comma, position: Position { index: 320, line: 20, col: 16 } }
Token { kind: Identifier("floatNegative"), position: Position { index: 326, line: 21, col: 5 } }
Token { kind: Colon, position: Position { index: 339, line: 21, col: 18 } }
Token { kind: FloatLiteral(-3.14), position: Position { index: 341, line: 21, col: 20 } }
Token { kind: Comma, position: Position { index: 346, line: 21, col: 25 } }
Token { kind: Identifier("floatNegativeWithoutInteger"), position: Position { index: 352, line: 22, col: 5 } }
Token { kind: Colon, position: Position { index: 379, line: 22, col: 32 } }
Token { kind: FloatLiteral(-0.14), position: Position { index: 381, line: 22, col: 34 } }
Token { kind: Comma, position: Position { index: 385, line: 22, col: 38 } }
Token { kind: Identifier("floatNegativeWithoutDecimal"), position: Position { index: 391, line: 23, col: 5 } }
Token { kind: Colon, position: Position { index: 418, line: 23, col: 32 } }
Token { kind: FloatLiteral(-3.0), position: Position { index: 420, line: 23, col: 34 } }
Token { kind: Comma, position: Position { index: 423, line: 23, col: 37 } }
Token { kind: Identifier("integer"), position: Position { index: 429, line: 24, col: 5 } }
Token { kind: Colon, position: Position { index: 436, line: 24, col: 12 } }
Token { kind: IntegerLiteral(3), position: Position { index: 438, line: 24, col: 14 } }
Token { kind: Comma, position: Position { index: 439, line: 24, col: 15 } }
Token { kind: Identifier("hex"), position: Position { index: 445, line: 25, col: 5 } }
Token { kind: Colon, position: Position { index: 448, line: 25, col: 8 } }
Token { kind: IntegerLiteral(26), position: Position { index: 450, line: 25, col: 10 } }
Token { kind: Comma, position: Position { index: 454, line: 25, col: 14 } }
Token { kind: Identifier("binary"), position: Position { index: 460, line: 26, col: 5 } }
Token { kind: Colon, position: Position { index: 466, line: 26, col: 11 } }
Token { kind: IntegerLiteral(1), position: Position { index: 468, line: 26, col: 13 } }
Token { kind: Comma, position: Position { index: 472, line: 26, col: 17 } }
Token { kind: Identifier("otcal"), position: Position { index: 478, line: 27, col: 5 } }
Token { kind: Colon, position: Position { index: 483, line: 27, col: 10 } }
Token { kind: IntegerLiteral(10), position: Position { index: 485, line: 27, col: 12 } }
Token { kind: Comma, position: Position { index: 489, line: 27, col: 16 } }
Token { kind: Identifier("integerNegative"), position: Position { index: 495, line: 28, col: 5 } }
Token { kind: Colon, position: Position { index: 510, line: 28, col: 20 } }
Token { kind: IntegerLiteral(-3), position: Position { index: 512, line: 28, col: 22 } }
Token { kind: Comma, position: Position { index: 514, line: 28, col: 24 } }
Token { kind: Identifier("stringSingleQuota"), position: Position { index: 520, line: 29, col: 5 } }
Token { kind: Colon, position: Position { index: 537, line: 29, col: 22 } }
Token { kind: StringLiteral("abc \"def\" ghi"), position: Position { index: 539, line: 29, col: 24 } }
Token { kind: Comma, position: Position { index: 554, line: 29, col: 39 } }
Token { kind: Identifier("stringDoubleQuota"), position: Position { index: 560, line: 30, col: 5 } }
Token { kind: Colon, position: Position { index: 577, line: 30, col: 22 } }
Token { kind: StringLiteral("abc \'def\' ghi"), position: Position { index: 579, line: 30, col: 24 } }
Token { kind: Comma, position: Position { index: 594, line: 30, col: 39 } }
Token { kind: Identifier("stringMultipleLine"), position: Position { index: 600, line: 31, col: 5 } }
Token { kind: Colon, position: Position { index: 618, line: 31, col: 23 } }
Token { kind: StringLiteral("abc \"def\" ghi \\n mij"), position: Position { index: 620, line: 31, col: 25 } }
Token { kind: Comma, position: Position { index: 645, line: 32, col: 13 } }
Token { kind: Identifier("stringBacktick"), position: Position { index: 651, line: 33, col: 5 } }
Token { kind: Colon, position: Position { index: 665, line: 33, col: 19 } }
Token { kind: StringLiteral("abc\ndef `\nxyz"), position: Position { index: 667, line: 33, col: 21 } }
Token { kind: Comma, position: Position { index: 683, line: 35, col: 5 } }
Token { kind: Identifier("stringEscaple"), position: Position { index: 689, line: 36, col: 5 } }
Token { kind: Colon, position: Position { index: 702, line: 36, col: 18 } }
Token { kind: StringLiteral("\\b\\f\\n\\r\\t\\v\\0\\x0f\\u01fF\\u2028\\u2029"), position: Position { index: 704, line: 36, col: 20 } }
Token { kind: Comma, position: Position { index: 753, line: 36, col: 69 } }
Token { kind: Identifier("arrayEmpty"), position: Position { index: 759, line: 37, col: 5 } }
Token { kind: Colon, position: Position { index: 769, line: 37, col: 15 } }
Token { kind: LeftBracket, position: Position { index: 771, line: 37, col: 17 } }
Token { kind: RightBracket, position: Position { index: 772, line: 37, col: 18 } }
Token { kind: Comma, position: Position { index: 773, line: 37, col: 19 } }
Token { kind: Identifier("arrayEmptyMultiLine"), position: Position { index: 780, line: 38, col: 5 } }
Token { kind: Colon, position: Position { index: 799, line: 38, col: 24 } }
Token { kind: LeftBracket, position: Position { index: 801, line: 38, col: 26 } }
Token { kind: At, position: Position { index: 803, line: 38, col: 28 } }
Token { kind: Identifier("array"), position: Position { index: 804, line: 38, col: 29 } }
Token { kind: RightBracket, position: Position { index: 814, line: 39, col: 5 } }
Token { kind: Comma, position: Position { index: 815, line: 39, col: 6 } }
Token { kind: Identifier("arrayEmptyWithAnnotation"), position: Position { index: 821, line: 40, col: 5 } }
Token { kind: Colon, position: Position { index: 845, line: 40, col: 29 } }
Token { kind: LeftBracket, position: Position { index: 847, line: 40, col: 31 } }
Token { kind: RightBracket, position: Position { index: 848, line: 40, col: 32 } }
Token { kind: Comma, position: Position { index: 849, line: 40, col: 33 } }
Token { kind: Identifier("arraySimple"), position: Position { index: 866, line: 41, col: 5 } }
Token { kind: Colon, position: Position { index: 877, line: 41, col: 16 } }
Token { kind: LeftBracket, position: Position { index: 879, line: 41, col: 18 } }
Token { kind: At, position: Position { index: 881, line: 41, col: 20 } }
Token { kind: Identifier("array"), position: Position { index: 882, line: 41, col: 21 } }
Token { kind: StringLiteral("a"), position: Position { index: 896, line: 42, col: 9 } }
Token { kind: Comma, position: Position { index: 899, line: 42, col: 12 } }
Token { kind: At, position: Position { index: 901, line: 42, col: 14 } }
Token { kind: Identifier("upper"), position: Position { index: 902, line: 42, col: 15 } }
Token { kind: StringLiteral("b"), position: Position { index: 916, line: 43, col: 9 } }
Token { kind: Comma, position: Position { index: 919, line: 43, col: 12 } }
Token { kind: RightBracket, position: Position { index: 925, line: 44, col: 5 } }
Token { kind: Comma, position: Position { index: 926, line: 44, col: 6 } }
Token { kind: Identifier("arrayOneline"), position: Position { index: 932, line: 45, col: 5 } }
Token { kind: Colon, position: Position { index: 944, line: 45, col: 17 } }
Token { kind: LeftBracket, position: Position { index: 946, line: 45, col: 19 } }
Token { kind: StringLiteral("a"), position: Position { index: 947, line: 45, col: 20 } }
Token { kind: Comma, position: Position { index: 950, line: 45, col: 23 } }
Token { kind: StringLiteral("b"), position: Position { index: 952, line: 45, col: 25 } }
Token { kind: RightBracket, position: Position { index: 955, line: 45, col: 28 } }
Token { kind: Comma, position: Position { index: 956, line: 45, col: 29 } }
Token { kind: At, position: Position { index: 958, line: 45, col: 31 } }
Token { kind: Identifier("array"), position: Position { index: 959, line: 45, col: 32 } }
Token { kind: Identifier("arrayExtraComma"), position: Position { index: 969, line: 46, col: 5 } }
Token { kind: Colon, position: Position { index: 984, line: 46, col: 20 } }
Token { kind: LeftBracket, position: Position { index: 986, line: 46, col: 22 } }
Token { kind: StringLiteral("a"), position: Position { index: 987, line: 46, col: 23 } }
Token { kind: Comma, position: Position { index: 990, line: 46, col: 26 } }
Token { kind: StringLiteral("b"), position: Position { index: 992, line: 46, col: 28 } }
Token { kind: Comma, position: Position { index: 995, line: 46, col: 31 } }
Token { kind: RightBracket, position: Position { index: 996, line: 46, col: 32 } }
Token { kind: Comma, position: Position { index: 997, line: 46, col: 33 } }
Token { kind: Identifier("objectEmpty"), position: Position { index: 1003, line: 47, col: 5 } }
Token { kind: Colon, position: Position { index: 1014, line: 47, col: 16 } }
Token { kind: LeftBrace, position: Position { index: 1016, line: 47, col: 18 } }
Token { kind: RightBrace, position: Position { index: 1017, line: 47, col: 19 } }
Token { kind: Comma, position: Position { index: 1018, line: 47, col: 20 } }
Token { kind: Identifier("objectEmptyMultiLine"), position: Position { index: 1024, line: 48, col: 5 } }
Token { kind: Colon, position: Position { index: 1044, line: 48, col: 25 } }
Token { kind: LeftBrace, position: Position { index: 1046, line: 48, col: 27 } }
Token { kind: At, position: Position { index: 1048, line: 48, col: 29 } }
Token { kind: Identifier("object"), position: Position { index: 1049, line: 48, col: 30 } }
Token { kind: RightBrace, position: Position { index: 1060, line: 49, col: 5 } }
Token { kind: Comma, position: Position { index: 1061, line: 49, col: 6 } }
Token { kind: Identifier("objectEmptyWithAnnotation"), position: Position { index: 1067, line: 50, col: 5 } }
Token { kind: Colon, position: Position { index: 1092, line: 50, col: 30 } }
Token { kind: LeftBrace, position: Position { index: 1094, line: 50, col: 32 } }
Token { kind: RightBrace, position: Position { index: 1095, line: 50, col: 33 } }
Token { kind: Comma, position: Position { index: 1096, line: 50, col: 34 } }
Token { kind: At, position: Position { index: 1098, line: 50, col: 36 } }
Token { kind: Identifier("use"), position: Position { index: 1099, line: 50, col: 37 } }
Token { kind: LeftParen, position: Position { index: 1102, line: 50, col: 40 } }
Token { kind: StringLiteral("Object4"), position: Position { index: 1103, line: 50, col: 41 } }
Token { kind: RightParen, position: Position { index: 1112, line: 50, col: 50 } }
Token { kind: Identifier("objectSimple"), position: Position { index: 1118, line: 51, col: 5 } }
Token { kind: Colon, position: Position { index: 1130, line: 51, col: 17 } }
Token { kind: LeftBrace, position: Position { index: 1132, line: 51, col: 19 } }
Token { kind: At, position: Position { index: 1134, line: 51, col: 21 } }
Token { kind: Identifier("save"), position: Position { index: 1135, line: 51, col: 22 } }
Token { kind: LeftParen, position: Position { index: 1139, line: 51, col: 26 } }
Token { kind: StringLiteral("Object4"), position: Position { index: 1140, line: 51, col: 27 } }
Token { kind: RightParen, position: Position { index: 1149, line: 51, col: 36 } }
Token { kind: Identifier("k1"), position: Position { index: 1159, line: 52, col: 9 } }
Token { kind: Colon, position: Position { index: 1161, line: 52, col: 11 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1163, line: 52, col: 13 } }
Token { kind: Comma, position: Position { index: 1167, line: 52, col: 17 } }
Token { kind: At, position: Position { index: 1169, line: 52, col: 19 } }
Token { kind: Identifier("upper"), position: Position { index: 1170, line: 52, col: 20 } }
Token { kind: Identifier("k2"), position: Position { index: 1184, line: 53, col: 9 } }
Token { kind: Colon, position: Position { index: 1186, line: 53, col: 11 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1188, line: 53, col: 13 } }
Token { kind: Comma, position: Position { index: 1192, line: 53, col: 17 } }
Token { kind: RightBrace, position: Position { index: 1198, line: 54, col: 5 } }
Token { kind: Comma, position: Position { index: 1199, line: 54, col: 6 } }
Token { kind: Identifier("objectOneLine"), position: Position { index: 1205, line: 55, col: 5 } }
Token { kind: Colon, position: Position { index: 1218, line: 55, col: 18 } }
Token { kind: LeftBrace, position: Position { index: 1220, line: 55, col: 20 } }
Token { kind: Identifier("k1"), position: Position { index: 1222, line: 55, col: 22 } }
Token { kind: Colon, position: Position { index: 1224, line: 55, col: 24 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1226, line: 55, col: 26 } }
Token { kind: Comma, position: Position { index: 1230, line: 55, col: 30 } }
Token { kind: Identifier("k2"), position: Position { index: 1232, line: 55, col: 32 } }
Token { kind: Colon, position: Position { index: 1234, line: 55, col: 34 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1236, line: 55, col: 36 } }
Token { kind: RightBrace, position: Position { index: 1241, line: 55, col: 41 } }
Token { kind: Comma, position: Position { index: 1242, line: 55, col: 42 } }
Token { kind: At, position: Position { index: 1244, line: 55, col: 44 } }
Token { kind: Identifier("object"), position: Position { index: 1245, line: 55, col: 45 } }
Token { kind: Identifier("objectExtraComma"), position: Position { index: 1256, line: 56, col: 5 } }
Token { kind: Colon, position: Position { index: 1272, line: 56, col: 21 } }
Token { kind: LeftBrace, position: Position { index: 1274, line: 56, col: 23 } }
Token { kind: Identifier("k1"), position: Position { index: 1276, line: 56, col: 25 } }
Token { kind: Colon, position: Position { index: 1278, line: 56, col: 27 } }
Token { kind: StringLiteral("v1"), position: Position { index: 1280, line: 56, col: 29 } }
Token { kind: Comma, position: Position { index: 1284, line: 56, col: 33 } }
Token { kind: Identifier("k2"), position: Position { index: 1286, line: 56, col: 35 } }
Token { kind: Colon, position: Position { index: 1288, line: 56, col: 37 } }
Token { kind: StringLiteral("v2"), position: Position { index: 1290, line: 56, col: 39 } }
Token { kind: Comma, position: Position { index: 1294, line: 56, col: 43 } }
Token { kind: RightBrace, position: Position { index: 1296, line: 56, col: 45 } }
Token { kind: Comma, position: Position { index: 1297, line: 56, col: 46 } }
Token { kind: RightBrace, position: Position { index: 1299, line: 57, col: 1 } }
Token { kind: Eof, position: Position { index: 1301, line: 58, col: 1 } }
