编译报错修复

speed_build
yangweijie 3 weeks ago
parent 7fa91622e2
commit e79ec2cf73
  1. 6
      src/Parser/AssignOpTrait.php

@ -331,6 +331,12 @@ trait AssignOpTrait
// 变量第一次被赋值,确定其类型,由于 PHP 的变量作用域是 function 级的,在 for/while 块中声明的变量,可以在块外使用
if (!$this->hasVar($var)) {
$finalVarType = $this->getNormalAssignType($type);
// A variable that is later reassigned an incompatible type must be
// declared as a runtime variant (php::Var) up front, otherwise the
// generated C++ would mismatch the scalar declaration.
if (isset($this->variantVars[$var])) {
$finalVarType = Type::VAR;
}
$finalVarType = $this->isNativeType($finalVarType) ? $this->getNativeType($finalVarType) : $finalVarType;
$this->addLocalVar($var, $finalVarType);
} else {

Loading…
Cancel
Save