- 在parseBinaryOpConcat方法中添加了对左右操作数的类型检查,防止void类型的连接操作 - 为concat操作添加了专门的符号函数php::concat - 修复了引用参数传递时的变量类型验证逻辑 - 更新了常量定义方法的返回类型从string改为void - 修正了预处理器中函数声明的换行符处理 - 将Iterator方法调用从exec改为call以统一接口调用方式 - 添加了concat_void.php示例文件用于测试void类型连接错误 - 新增了ref相关的测试用例文件pull/1/head
parent
ec98d1045d
commit
eaa598a48e
6 changed files with 72 additions and 17 deletions
@ -0,0 +1,11 @@ |
|||||||
|
<?php |
||||||
|
function foo(): void |
||||||
|
{ |
||||||
|
var_dump(__FUNCTION__); |
||||||
|
} |
||||||
|
|
||||||
|
function main() |
||||||
|
{ |
||||||
|
$s = foo() . "\n"; |
||||||
|
echo $s; |
||||||
|
} |
||||||
@ -0,0 +1,27 @@ |
|||||||
|
--TEST-- |
||||||
|
ref |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
class Request { |
||||||
|
public function bar() { |
||||||
|
$this->foo('hello', $class); |
||||||
|
$this->dump($class); |
||||||
|
} |
||||||
|
|
||||||
|
public function foo($name, ?string &$class) { |
||||||
|
$class = __CLASS__; |
||||||
|
} |
||||||
|
|
||||||
|
public function dump(string $class) { |
||||||
|
var_dump($class); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function main() |
||||||
|
{ |
||||||
|
$req = new Request; |
||||||
|
$req->bar(); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
string(7) "Request" |
||||||
Loading…
Reference in new issue