- 在编译器中实现 foo(...) 语法的占位符处理逻辑 - 添加对函数调用占位符的识别和生成支持 - 新增 first-class callable 语法的测试用例 - 实现可调用性检查的正确处理机制pull/1/head
parent
1111cc0c27
commit
2da2bc094f
2 changed files with 43 additions and 0 deletions
@ -0,0 +1,39 @@ |
||||
--TEST-- |
||||
First-class callable syntax foo(...) |
||||
--FILE-- |
||||
<?php |
||||
function multiply(int $a, int $b): int { |
||||
return $a * $b; |
||||
} |
||||
|
||||
class Calculator { |
||||
public function add(int $a, int $b): int { |
||||
return $a + $b; |
||||
} |
||||
|
||||
public static function sub(int $a, int $b): int { |
||||
return $a - $b; |
||||
} |
||||
} |
||||
|
||||
function main(): void { |
||||
$mul = multiply(...); |
||||
echo $mul(6, 7) . "\n"; |
||||
|
||||
$calc = new Calculator(); |
||||
$add = $calc->add(...); |
||||
echo $add(10, 5) . "\n"; |
||||
|
||||
$sub = Calculator::sub(...); |
||||
echo $sub(10, 3) . "\n"; |
||||
|
||||
var_dump(is_callable('multiply')); |
||||
var_dump(is_callable('nonexistent')); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
42 |
||||
15 |
||||
7 |
||||
bool(true) |
||||
bool(false) |
||||
Loading…
Reference in new issue