- 添加了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