diff --git a/src/Latte/Compiler/TagParserData.php b/src/Latte/Compiler/TagParserData.php index 8d00dc577..a75413370 100644 --- a/src/Latte/Compiler/TagParserData.php +++ b/src/Latte/Compiler/TagParserData.php @@ -26,7 +26,7 @@ abstract class TagParserData /** Rule number signifying that an unexpected token was encountered */ protected const UnexpectedTokenRule = 8191; - protected const Yy2Tblstate = 257; + protected const Yy2Tblstate = 256; /** Number of non-leaf states */ protected const NumNonLeafStates = 354; @@ -56,106 +56,106 @@ abstract class TagParserData * state/symbol pair is self::Action[self::ActionBase[$state] + $symbol]. If self::ActionBase[$state] is 0, the * action is defaulted, i.e. self::ActionDefault[$state] should be used instead. */ protected const ActionBase = [ - 297, 326, 326, 326, 326, 99, 121, 326, 273, 177, 230, 326, 406, 406, 406, 406, 406, 219, 219, 219, - 219, 287, 287, 291, 277, 401, 402, 403, 404, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, + 297, 326, 326, 326, 326, 99, 121, 326, 273, 177, 230, 326, 406, 406, 406, 406, 219, 219, 219, 219, + 295, 295, 267, 262, 401, 402, 403, 404, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, 133, 198, 214, 416, 432, 427, 436, 459, 460, 458, - 462, 468, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 137, 182, 528, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 549, 549, 549, - 437, 362, 204, 412, 38, 110, 110, 513, 513, 513, 513, 513, 447, 81, 81, 81, 81, 500, 500, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 272, 135, 135, 454, 13, 275, 275, 275, 228, 228, 228, 228, - 228, 181, 108, 108, 108, 236, 355, 409, 276, 207, 207, 207, 207, 207, 207, 282, 469, -21, 132, 132, - 205, 167, 167, 132, 378, -13, 122, -34, 208, 332, 221, 143, 158, 2, 405, 259, 262, 299, 142, 219, - 470, 470, 219, 219, 219, 411, 64, 64, 64, 147, 180, 39, 293, 445, 293, 293, 293, 42, 26, -74, - 268, 352, 344, 351, 268, 62, 98, 65, 354, 357, 352, 352, 104, 65, 65, 294, 300, 298, 134, 76, - 298, 290, 290, 109, 35, 363, 360, 369, 342, 341, 304, 234, 253, 284, 281, 337, 252, 363, 360, 369, - 263, 6, 310, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 234, 452, 36, 288, 374, 375, 17, - 395, 397, 450, 296, 451, 285, 278, 305, 279, 461, 331, 24, 234, 466, 286, 384, 301, 306, 385, 292, - 467, 398, 280, 453, 140, 376, 165, 455, 185, 408, 260, 400, 465, 457, 0, -43, -43, -43, -43, -43, + -43, -43, -43, -43, -43, -43, -43, -43, -43, 133, 165, 185, 416, 432, 427, 436, 460, 462, 459, 463, + 468, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 126, 182, 528, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 549, 549, 549, 437, + 362, 204, 412, 38, 110, 110, 513, 513, 513, 513, 513, 447, 81, 81, 81, 81, 500, 500, 271, 271, + 271, 271, 271, 271, 271, 271, 271, 272, 135, 135, 454, 13, 275, 275, 275, 228, 228, 228, 228, 228, + 181, 108, 108, 108, 236, 355, 409, 276, 207, 207, 207, 207, 207, 207, 285, 469, -21, 132, 132, 205, + 167, 167, 132, 378, -13, 122, -34, 208, 332, 221, 143, 158, 2, 405, 245, 252, 287, 142, 219, 269, + 269, 219, 219, 219, 411, 64, 64, 64, 147, 180, 39, 278, 445, 278, 278, 278, 42, -74, 268, 352, + 344, 351, 268, 36, 76, 62, 354, 357, 352, 352, 98, 62, 62, 62, 283, 299, 277, 109, 65, 277, + 288, 288, 104, 28, 363, 360, 369, 342, 341, 408, 197, 234, 281, 280, 337, 198, 363, 360, 369, 259, + 6, 310, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 197, 452, 33, 291, 374, 375, 17, 385, + 395, 286, 284, 453, 282, 263, 306, 260, 464, 331, 24, 197, 466, 270, 279, 274, 292, 384, 289, 467, + 397, 305, 398, 455, 130, 376, 134, 457, 140, 451, 253, 400, 450, 458, 0, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -43, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 447, 52, - 52, 52, 52, 52, 52, 52, 0, 108, 108, 108, 108, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, 108, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, - 0, 0, 378, 290, 290, 290, 290, 290, 290, 378, 378, 0, 0, 0, 0, 108, 108, 0, 0, 378, - 290, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 378, 0, 0, 290, 290, 0, 0, 0, 268, - 0, 0, 0, 0, 0, 0, 285, 36, 285, 285, 285, + 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 447, 52, 52, + 52, 52, 52, 52, 52, 0, 108, 108, 108, 108, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + -22, 108, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 0, 0, 0, 0, 0, 0, + 0, 378, 288, 288, 288, 288, 288, 288, 378, 378, 0, 0, 0, 0, 108, 108, 0, 0, 378, 288, + 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 378, 0, 0, 288, 288, 0, 0, 0, 268, 0, + 0, 0, 0, 0, 0, 282, 33, 282, 282, 282, ]; /** Table of actions. Indexed according to self::ActionBase comment. */ protected const Action = [ - 35, 36, -269, 33, -269, 37, -50, 38, 179, 180, 39, 40, 41, 42, 43, 44, 45, -48, 1, 193, - 46, 557, 558, 205, -47, 539, 381, -222, 16, 555, 285, 522, 242, 243, 196, 0, 286, 287, 7, -47, - -220, 288, 289, 208, 537, 178, 539, -222, -222, -222, 541, 540, 563, 561, 562, 55, 56, 57, -8190, 30, - -220, -220, -220, 416, 11, 224, 290, 15, 197, -220, 198, 541, 540, 24, 566, 58, 59, 60, 22, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 102, 195, 362, 363, 361, -269, 191, 381, 418, -269, 417, 234, 82, -8190, -8190, -8190, -8191, -8191, -8191, -8191, - 73, 74, 75, 76, 362, 363, 361, 360, 359, 446, 379, -8190, 380, -8190, -8190, -8190, 383, -8190, -8190, -8190, - -8190, 372, 99, -78, 12, -78, 106, 290, 366, 360, 359, 77, 78, 79, 80, 81, 196, 195, -267, 172, - -267, 194, 47, 372, 13, 201, 339, 296, 82, -78, 366, 107, 297, 368, 235, 236, 367, 373, 298, 299, - 362, 363, 361, 194, 47, -8190, -8190, 201, 641, 296, 25, 108, 642, -217, 297, 368, 235, 236, 367, 373, - 298, 299, 427, -22, 18, 360, 359, -8190, -8190, -8190, -8190, -8190, 26, -217, -217, -217, -8190, -8190, -8190, 372, - 20, -265, -217, -265, 427, -8190, 366, -8190, -8190, -8190, 418, -8190, 417, 362, 363, 361, 207, -184, -52, 194, - 47, 96, -223, 201, 14, 296, -78, 360, 359, -184, 297, 368, 235, 236, 367, 373, 298, 299, 360, 359, - 97, -267, -223, -223, -223, -267, 32, 109, 27, 31, -183, -183, 372, 379, -23, 380, 362, 363, 361, 366, - 427, -17, -183, -183, -16, 19, 212, 213, 214, 209, 210, 211, 194, 47, 172, 241, 201, -223, 296, 98, - 105, 360, 359, 297, 368, 235, 236, 367, 373, 298, 299, 100, 74, 75, 76, 372, 290, -223, -223, -223, - 192, 28, 366, 418, -265, 417, -183, 199, -265, 362, 363, 361, 1, 427, 200, 194, 47, 250, -183, 201, - 381, 296, 195, 555, 381, 82, 297, 368, 235, 236, 367, 373, 298, 299, 360, 359, 289, 103, 322, 381, - -8190, 278, 643, 567, 101, -8190, -8190, -8190, 372, 568, -8190, -192, 345, 50, 164, 366, 427, 51, 240, 224, - 290, -252, -251, -8190, 290, -8190, -8190, -8190, 194, 47, 21, 391, 201, 226, 296, 34, 260, 3, 177, 297, - 368, 235, 236, 367, 373, 298, 299, -250, 54, 362, 363, 361, -226, 246, 247, 248, -219, 48, 49, 17, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -225, 360, 359, -219, -219, -219, -224, + 34, 35, -269, 32, -269, 36, -50, 37, 178, 179, 38, 39, 40, 41, 42, 43, 44, -48, 1, 192, + 45, 557, 558, 204, -47, 539, 381, -222, 0, 555, 284, 522, 241, 242, 195, 7, 285, 286, 11, -47, + -220, 287, 288, 207, 537, 177, 539, -222, -222, -222, 541, 540, 563, 561, 562, 54, 55, 56, -8190, 29, + -220, -220, -220, 416, 15, 223, 289, 21, 196, -220, 197, 541, 540, 23, 566, 57, 58, 59, 101, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 190, 194, 362, 363, 361, -269, 233, 381, 418, -269, 417, 383, 81, -8190, -8190, -8190, -8191, -8191, -8191, -8191, + 72, 73, 74, 75, 362, 363, 361, 360, 359, -8190, 379, -8190, 380, -8190, -8190, -8190, 105, -8190, -8190, -8190, + 106, 372, 98, -78, 12, -78, 107, 289, 366, 360, 359, 76, 77, 78, 79, 80, 195, 194, -267, 171, + -267, 193, 46, 372, 13, 200, 338, 295, 81, -78, 366, 17, 296, 368, 234, 235, 367, 373, 297, 298, + 362, 363, 361, 193, 46, -8190, -8190, 200, 641, 295, 24, 19, 642, -217, 296, 368, 234, 235, 367, 373, + 297, 298, 427, -22, 95, 360, 359, -8190, -8190, -8190, -8190, -8190, 25, -217, -217, -217, -8190, -8190, -8190, 372, + -23, -265, -217, -265, 427, -8190, 366, -8190, -8190, -8190, 418, -8190, 417, 362, 363, 361, 206, -184, -52, 193, + 46, 96, -223, 200, 14, 295, -78, 360, 359, -184, 296, 368, 234, 235, 367, 373, 297, 298, 360, 359, + 108, -267, -223, -223, -223, -267, 31, -17, 26, 30, -183, -183, 372, 379, -16, 380, 362, 363, 361, 366, + 427, 18, -183, -183, 97, 104, 211, 212, 213, 208, 209, 210, 193, 46, 171, 240, 200, -223, 295, 191, + 198, 360, 359, 296, 368, 234, 235, 367, 373, 297, 298, 99, 73, 74, 75, 372, 289, -223, -223, -223, + 199, 27, 366, 418, -265, 417, -183, 194, -265, 362, 363, 361, 1, 427, 321, 193, 46, 249, -183, 200, + 381, 295, 81, 555, 381, 102, 296, 368, 234, 235, 367, 373, 297, 298, 360, 359, 288, 381, -8190, 643, + -8190, 345, -252, 567, 100, -8190, -8190, -8190, 372, 277, -192, 163, 568, 49, 20, 366, 427, 50, 289, 223, + 289, 239, 274, -8190, 289, -8190, -8190, -8190, 193, 46, 391, 638, 200, 225, 295, 33, 258, 3, 176, 296, + 368, 234, 235, 367, 373, 297, 298, -251, -250, 362, 363, 361, -226, 245, 246, 247, -219, 47, 48, 16, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -225, 360, 359, -219, -219, -219, -224, -8190, -8190, -8190, 2, 4, -219, 5, 381, 372, 630, 362, 363, 361, 6, 8, 366, 9, -226, -8190, 10, - -8190, -8190, 29, 468, 470, 52, 23, 183, 194, 47, -218, 53, 201, -217, 296, 196, 189, 190, 239, 297, - 368, 235, 236, 367, 373, 298, 299, 275, 277, 372, -218, -218, -218, -217, -217, -217, 366, 101, 510, -218, - 553, 428, -217, 525, 531, 533, 535, 585, -29, 365, 364, -225, 259, 376, 505, 377, -8190, -8190, -8190, 330, - 369, 368, 371, 370, 367, 373, 374, 375, 360, 359, 334, -8190, -8190, -8190, -8190, 544, -8190, -8190, -8190, 511, - -8190, -8190, -8190, -8191, -8191, -8191, -8191, -8191, 610, 418, 104, 417, -8190, -8190, -8190, 638, 640, -29, 392, 552, - 639, 1, 521, 342, 637, 594, 250, 608, 582, 381, -8190, 353, 555, 598, 633, 347, 0, 556, 0, 290, - 0, 0, 0, 0, 288, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 224, 290, + -8190, -8190, 28, 468, 470, 51, 22, 182, 193, 46, -218, 52, 200, -217, 295, 195, 188, 189, 238, 296, + 368, 234, 235, 367, 373, 297, 298, 276, 510, 372, -218, -218, -218, -217, -217, -217, 366, 100, 553, -218, + 428, 446, -217, 525, 531, 533, 535, 585, -29, 365, 364, -225, 53, 376, 505, 377, -8190, -8190, -8190, 329, + 369, 368, 371, 370, 367, 373, 374, 375, 360, 359, 333, -8190, -8190, -8190, -8190, 544, -8190, -8190, -8190, 511, + -8190, -8190, -8190, -8191, -8191, -8191, -8191, -8191, 610, 418, 103, 417, -8190, -8190, -8190, 257, 353, -29, 640, 552, + 392, 1, 639, 521, 341, 637, 249, 594, 608, 381, -8190, 582, 555, 598, 633, 347, 0, 556, 0, 0, + 0, 0, 0, 0, 287, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 0, 0, 0, 0, 0, 223, 289, ]; /** Table indexed analogously to self::Action. If self::ActionCheck[self::ActionBase[$state] + $symbol] != $symbol * then the action is defaulted, i.e. self::ActionDefault[$state] should be used instead. */ protected const ActionCheck = [ 43, 44, 0, 77, 2, 48, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, 61, 62, - 63, 64, 65, 66, 0, 68, 69, 61, 2, 72, 73, 105, 75, 76, 21, 0, 79, 80, 2, 0, + 63, 64, 65, 66, 0, 68, 69, 61, 0, 72, 73, 105, 75, 76, 21, 2, 79, 80, 2, 0, 61, 84, 85, 86, 66, 6, 68, 81, 82, 83, 93, 94, 95, 96, 97, 3, 4, 5, 71, 102, 81, 82, 83, 85, 2, 108, 109, 2, 26, 90, 28, 93, 94, 21, 87, 23, 24, 25, 2, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 2, 49, 3, 4, 5, 103, 2, 69, 95, 107, 97, 2, 60, 3, 4, 5, 35, 36, 37, 38, - 39, 40, 41, 42, 3, 4, 5, 28, 29, 103, 66, 21, 68, 23, 24, 25, 2, 27, 28, 29, - 3, 42, 104, 0, 2, 2, 6, 109, 49, 28, 29, 43, 44, 45, 46, 47, 21, 49, 0, 26, + 39, 40, 41, 42, 3, 4, 5, 28, 29, 3, 66, 21, 68, 23, 24, 25, 6, 27, 28, 29, + 6, 42, 104, 0, 2, 2, 6, 109, 49, 28, 29, 43, 44, 45, 46, 47, 21, 49, 0, 26, 2, 62, 63, 42, 22, 66, 44, 68, 60, 26, 49, 6, 73, 74, 75, 76, 77, 78, 79, 80, 3, 4, 5, 62, 63, 3, 4, 66, 66, 68, 91, 6, 70, 61, 73, 74, 75, 76, 77, 78, - 79, 80, 103, 22, 6, 28, 29, 3, 4, 5, 43, 44, 91, 81, 82, 83, 3, 4, 5, 42, - 6, 0, 90, 2, 103, 21, 49, 23, 24, 25, 95, 27, 97, 3, 4, 5, 103, 90, 103, 62, + 79, 80, 103, 22, 7, 28, 29, 3, 4, 5, 43, 44, 91, 81, 82, 83, 3, 4, 5, 42, + 22, 0, 90, 2, 103, 21, 49, 23, 24, 25, 95, 27, 97, 3, 4, 5, 103, 90, 103, 62, 63, 7, 61, 66, 102, 68, 103, 28, 29, 102, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29, - 7, 103, 81, 82, 83, 107, 61, 7, 91, 61, 90, 90, 42, 66, 22, 68, 3, 4, 5, 49, + 7, 103, 81, 82, 83, 107, 61, 22, 91, 61, 90, 90, 42, 66, 22, 68, 3, 4, 5, 49, 103, 22, 102, 102, 22, 22, 81, 82, 83, 81, 82, 83, 62, 63, 26, 90, 66, 61, 68, 22, - 22, 28, 29, 73, 74, 75, 76, 77, 78, 79, 80, 104, 40, 41, 42, 42, 109, 81, 82, 83, - 22, 91, 49, 95, 103, 97, 90, 26, 107, 3, 4, 5, 61, 103, 28, 62, 63, 66, 102, 66, - 69, 68, 49, 72, 69, 60, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29, 85, 61, 67, 69, - 85, 74, 70, 87, 91, 3, 4, 5, 42, 87, 71, 90, 78, 102, 90, 49, 103, 102, 90, 108, - 109, 102, 102, 21, 109, 23, 24, 25, 62, 63, 104, 91, 66, 61, 68, 98, 99, 100, 101, 73, - 74, 75, 76, 77, 78, 79, 80, 102, 104, 3, 4, 5, 102, 81, 82, 83, 61, 91, 92, 7, + 26, 28, 29, 73, 74, 75, 76, 77, 78, 79, 80, 104, 40, 41, 42, 42, 109, 81, 82, 83, + 28, 91, 49, 95, 103, 97, 90, 49, 107, 3, 4, 5, 61, 103, 67, 62, 63, 66, 102, 66, + 69, 68, 60, 72, 69, 61, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29, 85, 69, 71, 70, + 85, 78, 102, 87, 91, 3, 4, 5, 42, 74, 90, 90, 87, 102, 104, 49, 103, 102, 109, 108, + 109, 90, 103, 21, 109, 23, 24, 25, 62, 63, 91, 105, 66, 61, 68, 98, 99, 100, 101, 73, + 74, 75, 76, 77, 78, 79, 80, 102, 102, 3, 4, 5, 102, 81, 82, 83, 61, 91, 92, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 102, 28, 29, 81, 82, 83, 102, 3, 4, 5, 102, 102, 90, 102, 69, 42, 71, 3, 4, 5, 102, 102, 49, 102, 102, 21, 102, 23, 24, 102, 51, 52, 102, 88, 89, 62, 63, 61, 102, 66, 61, 68, 21, 102, 102, 102, 73, 74, 75, 76, 77, 78, 79, 80, 103, 103, 42, 81, 82, 83, 81, 82, 83, 49, 91, 103, 90, 103, 103, 90, 103, 103, 103, 103, 103, 103, 62, 63, 102, 104, 66, 103, 68, 3, 4, 5, 103, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29, 103, 3, 4, 5, 21, 103, 23, 24, 25, 103, - 27, 28, 29, 30, 31, 32, 33, 34, 103, 95, 22, 97, 3, 4, 5, 105, 105, 103, 105, 107, - 105, 61, 105, 105, 105, 105, 66, 105, 107, 69, 21, 106, 72, 107, 107, 107, -1, 108, -1, 109, + 27, 28, 29, 30, 31, 32, 33, 34, 103, 95, 22, 97, 3, 4, 5, 104, 106, 103, 105, 107, + 105, 61, 105, 105, 105, 105, 66, 105, 105, 69, 21, 107, 72, 107, 107, 107, -1, 108, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, -1, 108, 109, ]; @@ -163,93 +163,93 @@ abstract class TagParserData /** Map of states to their default action */ protected const ActionDefault = [ 8191, 263, 263, 31, 263, 8191, 8191, 263, 8191, 8191, 8191, 29, 8191, 8191, 8191, 29, 8191, 8191, 8191, 8191, - 8191, 39, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 215, 215, 215, 8191, 8191, 8191, 8191, 8191, 8191, - 8191, 8191, 8191, 8191, 8191, 8191, 8191, 10, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, + 39, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 215, 215, 215, 8191, 8191, 8191, 8191, 8191, 8191, 8191, + 8191, 8191, 8191, 8191, 8191, 8191, 10, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, - 8191, 8191, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 264, 264, 8191, 8191, 8191, 8191, 8191, 8191, 8191, - 8191, 8191, 1, 270, 271, 83, 77, 216, 266, 268, 79, 82, 80, 43, 44, 56, 120, 122, 154, 121, - 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 94, 95, 166, 155, 153, 152, - 118, 119, 125, 93, 8191, 123, 124, 142, 143, 140, 141, 144, 8191, 145, 146, 147, 148, 8191, 8191, 8191, - 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 126, 69, 69, 69, 8191, 8191, 11, 8191, 8191, 8191, 8191, 8191, - 8191, 206, 132, 133, 135, 206, 205, 150, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 211, 115, 117, - 189, 127, 128, 97, 8191, 8191, 8191, 210, 8191, 278, 217, 217, 217, 217, 34, 34, 34, 8191, 89, 34, - 8191, 8191, 34, 34, 34, 8191, 8191, 8191, 8191, 195, 223, 217, 138, 8191, 129, 130, 131, 57, 8191, 8191, - 8191, 193, 182, 8191, 2, 28, 28, 28, 8191, 236, 237, 238, 28, 28, 28, 170, 36, 71, 28, 28, - 71, 8191, 8191, 28, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 200, 8191, 221, 234, 185, 15, 20, 21, - 8191, 200, 219, 136, 137, 139, 158, 159, 160, 161, 162, 163, 164, 261, 8191, 257, 188, 8191, 8191, 217, - 8191, 8191, 277, 8191, 217, 134, 8191, 196, 241, 8191, 218, 217, 262, 8191, 8191, 8191, 59, 60, 8191, 8191, - 8191, 8191, 197, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 55, 8191, 8191, 8191, + 8191, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 264, 264, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, + 8191, 1, 270, 271, 83, 77, 216, 266, 268, 79, 82, 80, 43, 44, 56, 120, 122, 154, 121, 96, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 94, 95, 166, 155, 153, 152, 118, + 119, 125, 93, 8191, 123, 124, 142, 143, 140, 141, 144, 8191, 145, 146, 147, 148, 8191, 8191, 8191, 8191, + 8191, 8191, 8191, 8191, 8191, 8191, 8191, 126, 69, 69, 69, 8191, 8191, 11, 8191, 8191, 8191, 8191, 8191, 8191, + 206, 132, 133, 135, 206, 205, 150, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 211, 115, 117, 189, + 127, 128, 97, 8191, 8191, 8191, 210, 8191, 278, 217, 217, 217, 217, 34, 34, 34, 8191, 89, 34, 8191, + 8191, 34, 34, 34, 8191, 8191, 8191, 8191, 195, 223, 217, 138, 8191, 129, 130, 131, 57, 8191, 8191, 193, + 182, 8191, 2, 28, 28, 28, 8191, 236, 237, 238, 28, 28, 28, 28, 170, 36, 71, 28, 28, 71, + 8191, 8191, 28, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 200, 8191, 221, 234, 185, 15, 20, 21, 8191, + 200, 219, 136, 137, 139, 158, 159, 160, 161, 162, 163, 164, 261, 8191, 257, 188, 8191, 8191, 217, 8191, + 8191, 277, 8191, 217, 134, 8191, 196, 241, 8191, 218, 217, 262, 8191, 8191, 8191, 59, 60, 8191, 8191, 8191, + 8191, 197, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 55, 8191, 8191, 8191, ]; /** Map of non-terminals to a displacement into the self::Goto table. The corresponding goto state for this * non-terminal/state pair is self::Goto[self::GotoBase[$nonTerminal] + $state] (unless defaulted) */ protected const GotoBase = [ - 0, 0, -1, 0, 0, 0, 108, 0, 226, -12, 16, -28, 0, 249, -231, 0, 0, 0, 0, 225, - 219, 71, -13, 255, -2, 64, 0, 67, 0, 69, -76, 0, 0, -60, -6, 1, -5, 171, 0, 0, - 23, 0, 0, 72, 0, 0, -18, 0, 0, 0, 34, 0, 0, 0, 0, -77, -44, 0, 0, 14, - 25, 112, 36, 42, -67, 0, 0, -51, 66, 0, -15, 184, 236, 57, 0, 0, + 0, 0, -1, 0, 0, 0, 107, 0, 254, -126, 16, -28, 0, 235, -230, 0, 0, 0, 0, 166, + 200, 52, -13, 262, -2, 58, 0, 63, 0, 57, 75, 0, 0, -61, 3, -34, -5, 124, 0, 0, + 41, 0, 0, 65, 0, 0, 154, 0, 0, 0, 24, 0, 0, 0, 0, -77, -44, 0, 0, 14, + 25, 12, 36, 37, -67, 0, 0, -51, 66, 0, -15, 109, 115, 44, 0, 0, ]; /** Table of states to goto after reduction. Indexed according to self::GotoBase comment. */ protected const Goto = [ - 112, 112, 111, 112, 317, 318, 112, 273, 274, 258, 111, 317, 318, 276, 333, 352, 140, 128, 129, 128, - 125, 125, 117, 138, 130, 130, 130, 130, 125, 110, 127, 127, 127, 122, 303, 304, 252, 305, 306, 307, - 308, 309, 310, 311, 312, 454, 454, 123, 124, 113, 114, 115, 116, 118, 136, 137, 139, 157, 160, 161, - 162, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 188, 202, 203, 204, 221, 222, 254, 255, - 256, 325, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 119, 120, - 130, 131, 121, 159, 132, 133, 156, 134, 135, 181, 181, 181, 181, 328, 321, 181, 316, 316, 316, 181, - 412, 419, 421, 420, 422, 184, 186, 187, 186, 415, 415, 415, 415, 536, 536, 536, 415, 415, 415, 415, - 415, 225, 597, 597, 597, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 237, 609, 609, - 609, 609, 609, 609, 251, 331, 218, 219, 230, 319, 324, 223, 231, 232, 233, 301, 301, 554, 554, 554, - 554, 554, 554, 554, 554, 554, 430, 430, 253, 595, 595, 576, 576, 576, 576, 576, 576, 576, 576, 576, - 576, 576, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 229, 602, 603, 300, 300, 300, 300, 229, 229, 300, 634, 635, 636, 300, 435, 341, - 229, 229, 644, 612, 405, 445, 444, 396, 320, 400, 348, 394, 386, 229, 338, 526, 313, 313, 408, 313, - 387, 426, 313, 530, 532, 628, 216, 503, 439, 534, 584, 586, 587, 527, 349, 332, 270, 271, 599, 600, - 601, 628, 629, 440, 0, 182, 182, 441, 0, 0, 0, 0, 0, 0, 629, 0, 0, 350, 529, 0, + 111, 111, 110, 111, 316, 317, 111, 271, 272, 273, 110, 316, 317, 275, 320, 139, 127, 128, 127, 124, + 124, 116, 137, 129, 129, 129, 129, 124, 109, 126, 126, 126, 121, 302, 303, 251, 304, 305, 306, 307, + 308, 309, 310, 311, 454, 454, 122, 123, 112, 113, 114, 115, 117, 135, 136, 138, 156, 159, 160, 161, + 164, 165, 166, 167, 168, 169, 170, 172, 173, 174, 175, 187, 201, 202, 203, 220, 221, 253, 254, 255, + 324, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 157, 118, 119, 129, + 130, 120, 158, 131, 132, 155, 133, 134, 180, 180, 180, 180, 327, 252, 180, 315, 315, 315, 180, 634, + 635, 636, 612, 183, 185, 186, 185, 415, 415, 415, 415, 536, 536, 536, 415, 415, 415, 415, 415, 430, + 224, 597, 597, 597, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 236, 609, 609, 609, + 609, 609, 609, 250, 330, 217, 218, 229, 318, 323, 222, 230, 231, 232, 300, 300, 554, 554, 554, 554, + 554, 554, 554, 554, 554, 332, 352, 396, 595, 595, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, + 576, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 228, 602, 603, 530, 532, 319, 400, 228, 228, 534, 584, 586, 587, 435, 340, 386, 228, + 228, 644, 405, 445, 444, 342, 387, 337, 426, 348, 394, 628, 228, 408, 526, 299, 299, 299, 299, 503, + 215, 299, 527, 312, 312, 299, 312, 628, 629, 312, 412, 419, 421, 420, 422, 268, 269, 599, 600, 601, + 629, 331, 349, 181, 181, 439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 529, 0, 440, + 0, 0, 0, 441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 389, 389, 389, 0, 0, 389, 0, 0, 389, 389, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 389, 389, 389, 0, 0, 389, 0, 0, 389, 389, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 403, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, + 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 403, ]; /** Table indexed analogously to self::Goto. If self::GotoCheck[self::GotoBase[$nonTerminal] + $state] != $nonTerminal * then the goto state is defaulted, i.e. self::GotoDefault[$nonTerminal] should be used. */ protected const GotoCheck = [ - 2, 2, 2, 2, 14, 14, 2, 36, 36, 36, 2, 14, 14, 14, 46, 46, 2, 2, 2, 2, + 2, 2, 2, 2, 14, 14, 2, 36, 36, 36, 2, 14, 14, 14, 61, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 67, 61, 6, 55, 55, 55, 6, - 30, 30, 30, 30, 30, 6, 6, 6, 6, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 64, 67, 67, 67, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 64, 67, 67, - 67, 67, 67, 67, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 37, 37, 71, 67, 67, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 10, 70, 70, 8, 8, 8, 8, 10, 10, 8, 9, 9, 9, 8, 11, 11, - 10, 10, 10, 72, 11, 11, 11, 19, 20, 21, 11, 11, 13, 10, 25, 11, 23, 23, 27, 23, - 13, 29, 23, 35, 35, 73, 63, 43, 40, 35, 35, 35, 35, 50, 34, 23, 68, 68, 68, 68, - 68, 73, 73, 40, -1, 6, 6, 40, -1, -1, -1, -1, -1, -1, 73, -1, -1, 10, 10, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 67, 71, 6, 55, 55, 55, 6, 9, + 9, 9, 72, 6, 6, 6, 6, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 37, + 64, 67, 67, 67, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 64, 67, 67, 67, + 67, 67, 67, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 46, 46, 19, 67, 67, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 10, 70, 70, 35, 35, 20, 21, 10, 10, 35, 35, 35, 35, 11, 11, 13, 10, + 10, 10, 11, 11, 11, 11, 13, 25, 29, 11, 11, 73, 10, 27, 11, 8, 8, 8, 8, 43, + 63, 8, 50, 23, 23, 8, 23, 73, 73, 23, 30, 30, 30, 30, 30, 68, 68, 68, 68, 68, + 73, 23, 34, 6, 6, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, -1, 40, + -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 6, 6, 6, -1, -1, 6, -1, -1, 6, 6, 6, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 6, -1, -1, 6, -1, -1, 6, 6, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, + -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, 23, ]; /** Map of non-terminals to the default state to goto after their reduction */ protected const GotoDefault = [ - -8192, 284, 126, 264, 357, 358, 185, 378, 326, 607, 593, 384, 265, 614, 282, 281, 453, 343, 279, 395, - 344, 399, 163, 291, 292, 335, 272, 407, 244, 424, 257, 336, 337, 262, 346, 548, 267, 429, 266, 245, - 438, 442, 452, 261, 519, 280, 329, 523, 351, 283, 528, 583, 263, 293, 268, 545, 249, 220, 294, 227, - 217, 314, 206, 215, 627, 228, 295, 581, 269, 589, 596, 315, 613, 626, 323, 340, + -8192, 283, 125, 262, 357, 358, 184, 378, 325, 607, 593, 384, 263, 614, 281, 280, 453, 343, 278, 395, + 344, 399, 162, 290, 291, 334, 270, 407, 243, 424, 256, 335, 336, 260, 346, 548, 265, 429, 264, 244, + 438, 442, 452, 259, 519, 279, 328, 523, 351, 282, 528, 583, 261, 292, 266, 545, 248, 219, 293, 226, + 216, 313, 205, 214, 627, 227, 294, 581, 267, 589, 596, 314, 613, 626, 322, 339, ]; /** Map of rules to the non-terminal on their left-hand side, i.e. the non-terminal to use for @@ -279,7 +279,7 @@ abstract class TagParserData 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 2, 0, 1, 3, 0, 1, 0, 1, 7, 0, 2, 1, 3, 3, 4, 1, 3, 1, 2, 1, 1, 2, 0, 1, 3, 4, 6, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 0, 1, 0, 2, 2, 4, 1, 3, 1, 2, 2, - 3, 2, 3, 1, 2, 2, 1, 2, 3, 0, 3, 3, 3, 1, 3, 3, 3, 4, 1, 1, + 3, 2, 3, 1, 2, 2, 1, 2, 3, 0, 3, 3, 4, 1, 3, 3, 3, 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 3, 4, 4, 2, 2, @@ -427,7 +427,7 @@ protected function reduce(int $rule, int $pos): void 3 => fn() => $this->semValue = new Expression\ArrayNode($this->semStack[$pos], position: $this->startTokenStack[$pos]->position), 22, 23, 24, 25, 26, 62, 63, 64 => fn() => $this->semValue = new Node\IdentifierNode($this->semStack[$pos], $this->startTokenStack[$pos]->position), 27 => fn() => $this->semValue = new Expression\VariableNode(substr($this->semStack[$pos], 1), $this->startTokenStack[$pos]->position), - 30, 40, 51, 81, 90, 91, 92, 150, 151, 171, 172, 190, 218, 225, 251, 254, 286 => fn() => $this->semValue = $this->semStack[$pos - 1], + 30, 40, 51, 81, 90, 91, 150, 151, 171, 172, 190, 218, 225, 251, 254, 286 => fn() => $this->semValue = $this->semStack[$pos - 1], 31, 39, 52, 73, 89, 170, 193 => fn() => $this->semValue = [], 32, 41, 53, 75, 83, 86, 173, 259, 274 => fn() => $this->semValue = [$this->semStack[$pos]], 33, 42, 54, 66, 68, 76, 82, 174, 258 => function () use ($pos) { @@ -452,7 +452,7 @@ protected function reduce(int $rule, int $pos): void 61 => fn() => $this->semValue = TagParser::handleBuiltinTypes($this->semStack[$pos]), 65, 67 => fn() => $this->semValue = [$this->semStack[$pos - 2], $this->semStack[$pos]], 69, 71, 215 => fn() => $this->semValue = null, - 74 => fn() => $this->semValue = $this->semStack[$pos - 2], + 74, 92 => fn() => $this->semValue = $this->semStack[$pos - 2], 77 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], false, false, null, $this->startTokenStack[$pos]->position), 78 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], true, false, null, $this->startTokenStack[$pos - 1]->position), 79 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], false, true, null, $this->startTokenStack[$pos - 1]->position), diff --git a/tests/phpParser/filters.phpt b/tests/phpParser/filters.phpt index 454188651..7cc7f91ff 100644 --- a/tests/phpParser/filters.phpt +++ b/tests/phpParser/filters.phpt @@ -15,6 +15,7 @@ $test = <<<'XX' ($a |truncate: 10, (20|round)|trim), ($a |truncate: a: 10, b: true), ($a |truncate( a: 10, b: true)), + ($a |truncate( a: 10, )), XX; $node = parseCode($test); @@ -26,7 +27,7 @@ Assert::same( __halt_compiler(); Latte\Compiler\Nodes\Php\Expression\ArrayNode - items: array (6) + items: array (7) | 0 => Latte\Compiler\Nodes\Php\ArrayItemNode | | value: Latte\Compiler\Nodes\Php\Expression\FilterCallNode | | | expr: Latte\Compiler\Nodes\Php\Expression\VariableNode @@ -239,4 +240,31 @@ Latte\Compiler\Nodes\Php\Expression\ArrayNode | | byRef: false | | unpack: false | | position: 6:1 (offset 137) + | 6 => Latte\Compiler\Nodes\Php\ArrayItemNode + | | value: Latte\Compiler\Nodes\Php\Expression\FilterCallNode + | | | expr: Latte\Compiler\Nodes\Php\Expression\VariableNode + | | | | name: 'a' + | | | | position: 7:2 (offset 171) + | | | filter: Latte\Compiler\Nodes\Php\FilterNode + | | | | name: Latte\Compiler\Nodes\Php\IdentifierNode + | | | | | name: 'truncate' + | | | | | position: 7:6 (offset 175) + | | | | args: array (1) + | | | | | 0 => Latte\Compiler\Nodes\Php\ArgumentNode + | | | | | | value: Latte\Compiler\Nodes\Php\Scalar\IntegerNode + | | | | | | | value: 10 + | | | | | | | kind: 10 + | | | | | | | position: 7:19 (offset 188) + | | | | | | byRef: false + | | | | | | unpack: false + | | | | | | name: Latte\Compiler\Nodes\Php\IdentifierNode + | | | | | | | name: 'a' + | | | | | | | position: 7:16 (offset 185) + | | | | | | position: 7:16 (offset 185) + | | | | position: 7:5 (offset 174) + | | | position: 7:2 (offset 171) + | | key: null + | | byRef: false + | | unpack: false + | | position: 7:1 (offset 170) position: 1:1 (offset 0)