- 添加了012、013、014测试用例验证类型声明功能 - 将any类型作为内置伪类型处理,映射为mixed类型 - 支持方法签名中的any返回类型注解 - 实现PHPDoc类型与实际类型的合并处理逻辑 - 为非可变参数函数自动添加尾随可变参数支持 - 修复了回调函数传递额外参数时的类型处理问题pull/3/head
parent
cba9990e80
commit
e0f6de8480
4 changed files with 80 additions and 9 deletions
@ -0,0 +1,23 @@ |
|||||||
|
--TEST-- |
||||||
|
Type Declarations |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class SmallerTenClass { |
||||||
|
public static function smallerTen($input) { |
||||||
|
return $input < 10; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main() { |
||||||
|
$array1 = [ |
||||||
|
"a" => 1, |
||||||
|
"b" => 2, |
||||||
|
"c" => 3, |
||||||
|
"d" => 4, |
||||||
|
"e" => 5, |
||||||
|
]; |
||||||
|
var_dump(array_all($array1, "SmallerTenClass::smallerTen")); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
bool(true) |
||||||
@ -0,0 +1,17 @@ |
|||||||
|
--TEST-- |
||||||
|
Type Declarations |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class SmallerTenClass { |
||||||
|
public static function foo($input): any { |
||||||
|
return __METHOD__; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main() { |
||||||
|
$fn = "SmallerTenClass::foo"; |
||||||
|
var_dump($fn(10)); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
string(20) "SmallerTenClass::foo" |
||||||
@ -0,0 +1,18 @@ |
|||||||
|
--TEST-- |
||||||
|
Type Declarations |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class SmallerTenClass { |
||||||
|
public static function foo($input) { |
||||||
|
var_dump(__METHOD__); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main() { |
||||||
|
$fn = "SmallerTenClass::foo"; |
||||||
|
var_dump($fn(10)); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
string(20) "SmallerTenClass::foo" |
||||||
|
NULL |
||||||
Loading…
Reference in new issue