-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Milestone
Description
Example:
$fn = fn ($x) => fn ($y) => $x ? $y : false;
// example calls:
var_dump($fn(1)(2)); // result int(2)
var_dump($fn(0)(2)); // result bool(false)
tokeniser:
Process token 0 on line 1 [col:1;len:5;lvl:0;]: T_OPEN_TAG => <?php\n
Process token 1 on line 2 [col:1;len:0;lvl:0;]: T_WHITESPACE => \n
Process token 2 on line 3 [col:1;len:3;lvl:0;]: T_VARIABLE => $fn
Process token 3 on line 3 [col:4;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 4 on line 3 [col:5;len:1;lvl:0;]: T_EQUAL => =
Process token 5 on line 3 [col:6;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 6 on line 3 [col:7;len:2;lvl:0;]: T_FN => fn
Process token 7 on line 3 [col:9;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 8 on line 3 [col:10;len:1;lvl:0;]: T_OPEN_PARENTHESIS => (
Process token 9 on line 3 [col:11;len:2;lvl:0;]: T_VARIABLE => $x
Process token 10 on line 3 [col:13;len:1;lvl:0;]: T_CLOSE_PARENTHESIS => )
Process token 11 on line 3 [col:14;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 12 on line 3 [col:15;len:2;lvl:0;]: T_DOUBLE_ARROW => =>
Process token 13 on line 3 [col:17;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 14 on line 3 [col:18;len:2;lvl:0;]: T_FN => fn
Process token 15 on line 3 [col:20;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 16 on line 3 [col:21;len:1;lvl:0;]: T_OPEN_PARENTHESIS => (
Process token 17 on line 3 [col:22;len:2;lvl:0;]: T_VARIABLE => $y
Process token 18 on line 3 [col:24;len:1;lvl:0;]: T_CLOSE_PARENTHESIS => )
Process token 19 on line 3 [col:25;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 20 on line 3 [col:26;len:2;lvl:0;]: T_DOUBLE_ARROW => =>
Process token 21 on line 3 [col:28;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 22 on line 3 [col:29;len:2;lvl:0;]: T_VARIABLE => $x
Process token 23 on line 3 [col:31;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 24 on line 3 [col:32;len:1;lvl:0;]: T_NULLABLE => ? // <!-- should be T_INLINE_THEN
Process token 25 on line 3 [col:33;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 26 on line 3 [col:34;len:2;lvl:0;]: T_VARIABLE => $y
Process token 27 on line 3 [col:36;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 28 on line 3 [col:37;len:1;lvl:0;]: T_COLON => : // <!-- should be T_INLINE_ELSE
Process token 29 on line 3 [col:38;len:1;lvl:0;]: T_WHITESPACE => ·
Process token 30 on line 3 [col:39;len:5;lvl:0;]: T_FALSE => false
Process token 31 on line 3 [col:44;len:1;lvl:0;]: T_SEMICOLON => ;
Process token 32 on line 3 [col:45;len:0;lvl:0;]: T_WHITESPACE => \n
Related to #2523
Metadata
Metadata
Assignees
Labels
No labels