From dc1933e63cb2e7d47c47a2f0c95f8b63e52ccf90 Mon Sep 17 00:00:00 2001 From: Pavel Shevaev Date: Mon, 22 Apr 2024 16:54:16 +0300 Subject: [PATCH] Fixing subclass check --- src/codegen.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codegen.inc.php b/src/codegen.inc.php index c5d7e5a..34c6fed 100644 --- a/src/codegen.inc.php +++ b/src/codegen.inc.php @@ -209,7 +209,7 @@ function data2value($name, \mtgType $type, $buf, $prefix = '', $tokens = array() if(array_key_exists('virtual', $tokens)) { $str .= $cond_indent."\$vclass__ = AutogenBundle::getClassName(\metagen_php\\val_uint32(\metagen_php\array_extract_val(\$tmp_sub_arr__, \$assoc, '\$id', {$type->getClassId()})));\n"; - $str .= $cond_indent."if(!is_subclass_of(\$vclass__, '{$type->getName()}')) throw new Exception(\"'\$vclass__' is not subclass of '{$type->getName()}'\");\n"; + $str .= $cond_indent."if(!is_a(\$vclass__, '{$type->getName()}', true)) throw new Exception(\"'\$vclass__' is not subclass of '{$type->getName()}'\");\n"; $str .= $cond_indent."{$pname} = new \$vclass__(\$tmp_sub_arr__, \$assoc);\n"; } else