From 19e0dc48af4506bbc3b39ad54c56d7091d4c75d2 Mon Sep 17 00:00:00 2001 From: tianfenghan Date: Sun, 4 Jan 2026 13:47:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=A1=A8=E8=BE=BE=E5=BC=8F?= =?UTF-8?q?=E4=B8=AD=E5=A4=9A=E4=BD=99=E7=9A=84=E6=8B=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Php/Translator.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Php/Translator.php b/src/Php/Translator.php index 1e88128e..c31a8e38 100644 --- a/src/Php/Translator.php +++ b/src/Php/Translator.php @@ -1385,10 +1385,18 @@ class Translator extends \PhpAot\Core\Translator return $code; } + private function trimBrackets(string $str): string + { + if (str_starts_with($str, '(') and str_ends_with($str, ')')) { + return substr($str, 1, -1); + } + return $str; + } + private function convertIntExpr(string $expr): string { if (!str_starts_with($expr, 'php::to_int(')) { - return 'php::to_int(' . $expr . ')'; + return 'php::to_int(' . $this->trimBrackets($expr) . ')'; } return $expr; } @@ -1396,7 +1404,7 @@ class Translator extends \PhpAot\Core\Translator private function convertFloatExpr(string $expr): string { if (!str_starts_with($expr, 'php::to_float(')) { - return 'php::to_float(' . $expr . ')'; + return 'php::to_float(' . $this->trimBrackets($expr) . ')'; } return $expr; } @@ -1404,7 +1412,7 @@ class Translator extends \PhpAot\Core\Translator private function convertStringExpr(string $expr): string { if (!str_starts_with($expr, 'php::to_string(')) { - return 'php::to_string(' . $expr . ')'; + return 'php::to_string(' . $this->trimBrackets($expr) . ')'; } return $expr; } @@ -1412,7 +1420,7 @@ class Translator extends \PhpAot\Core\Translator private function convertArrayExpr(string $expr): string { if (!str_starts_with($expr, 'php::to_array(')) { - return 'php::to_array(' . $expr . ')'; + return 'php::to_array(' . $this->trimBrackets($expr) . ')'; } return $expr; } @@ -1420,7 +1428,7 @@ class Translator extends \PhpAot\Core\Translator private function convertBoolExpr(string $expr): string { if (!str_starts_with($expr, 'php::to_bool(')) { - return 'php::to_bool(' . $expr . ')'; + return 'php::to_bool(' . $this->trimBrackets($expr) . ')'; } return $expr; }