fix(php): 修复未定义类型的默认值处理逻辑

- 未定义类型时,属性和参数默认使用 var (mixed, any) 类型
- 未定义类型时,返回值默认使用 void 类型
- 根据声明类型上下文返回相应的默认类型值
pull/1/head
韩天峰 5 months ago
parent 9022821bcf
commit 183b2ba96c
  1. 4
      src/Php/CompilerBase.php

@ -749,9 +749,9 @@ class CompilerBase extends \PhpAot\Core\Translator
protected function parseTypeDecl(?NodeAbstract $type, int $what): string
{
// 未定义类型,默认是 var (mixed, any)
// 未定义类型,属性、参数默认是 var (mixed, any) ,返回值是 void
if ($type === null) {
return self::TYPE_VAR;
return $what === self::DECL_TYPE_OF_RETURN ? self::TYPE_VOID : self::TYPE_VAR;
}
if ($type instanceof UnionType or $type instanceof NullableType) {
// 联合类型暂时不支持,使用 var 类型代替

Loading…
Cancel
Save