Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipe operator #17118

Draft
wants to merge 38 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d7716ad
Implement pipe operator.
Crell Apr 11, 2020
0f8b8b5
Include FCC in tested callable formats.
Crell Dec 13, 2024
69a6feb
Move the code generation from the lexer to a compile function, courte…
Crell Dec 30, 2024
0b40c32
Fix pipe error output.
Crell Dec 30, 2024
80ba4df
Remove dead comment.
Crell Dec 30, 2024
c8c0365
Wrap pipe LHS in a QM_ASSIGN opcode to implicitly block references.
Crell Jan 14, 2025
48bb0de
Add test to check behaviour of prefer-by-ref parameters
Girgias Feb 8, 2025
f9c4217
Merge pull request #1 from Girgias/funsies-additions
Crell Feb 10, 2025
bbb3fd6
Use echo instead.
Crell Feb 9, 2025
0794003
Don't use printf, either.
Crell Feb 9, 2025
594af65
Correct addition-precedence test so it would be a different output if…
Crell Feb 9, 2025
37d75e2
Tweak style.
Crell Feb 10, 2025
ec75335
Expand ternary test.
Crell Feb 10, 2025
d836c17
Add a test for comparison operators.
Crell Feb 10, 2025
8957cdd
Update comparison precedence test.
Crell Feb 10, 2025
26629a8
Whitespace fixes.
Crell Feb 10, 2025
ceb4589
Add single quotes for consistency.
Crell Feb 13, 2025
e7890e3
Increase precedence of pipe operator.
Crell Feb 26, 2025
392d8b2
Remove dead code.
Crell Feb 27, 2025
c15c082
Add test for generator and pipe behavior.
Crell Mar 6, 2025
9cd04b4
Add regenerated file.
Crell Mar 6, 2025
8cf43d8
Add test for complex ordering.
Crell Mar 6, 2025
a264deb
Add test for exceptions.
Crell Mar 6, 2025
d5a5dc8
Use BINARY_OP macro for printing Pipe AST.
Crell Mar 6, 2025
94f737e
Improve tests for AST printing, still doesn't work.
Crell Mar 18, 2025
ef2d1a0
Improved optimzations and namespace handling, courtesy Arnaud.
Crell Mar 18, 2025
59873a7
Improve docs.
Crell Mar 18, 2025
2beea97
Ensure higher order functions stil work.
Crell Mar 18, 2025
5700cb2
AST: Update priorities for ZEND_AST_PIPE
arnaud-lb Mar 18, 2025
f7027e7
Remove vestigial comment.
Crell Mar 18, 2025
ee3d107
Add test for namespaced functions.
Crell Mar 18, 2025
10fd080
Remove dead code
Crell Mar 20, 2025
55df27c
More namespace tests.
Crell Mar 20, 2025
d275216
Add test for static method FCC.
Crell Mar 20, 2025
38f1309
Add more AST examples.
Crell Mar 20, 2025
d1115a8
Optimize static method calls in pipes.
Crell Mar 20, 2025
d717f25
Typo fix.
Crell Mar 20, 2025
9f9e054
Add tests for pipe optimizations.
Crell Mar 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add test to check behaviour of prefer-by-ref parameters
  • Loading branch information
Girgias committed Feb 8, 2025
commit 48bb0de5d3b82df2ea9d4c39b2e4e5ff189ba4cd
17 changes: 17 additions & 0 deletions Zend/tests/pipe_operator/call_prefer_by_ref.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
--TEST--
Pipe operator accepts prefer-by-reference functions.
--FILE--
<?php

$a = ['hello', 'world'];

try {
$r = $a |> array_multisort(...);
var_dump($r);
} catch (\Error $e) {
print $e->getMessage() . PHP_EOL;
}

?>
--EXPECT--
bool(true)