From d789fc3ed8b36fb0bef9c7f64e9550af6305692b Mon Sep 17 00:00:00 2001 From: hantianfeng Date: Thu, 29 Aug 2024 14:07:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20import=20=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Python/Translator.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Python/Translator.php b/src/Python/Translator.php index a0e0fb54..f5f8a67c 100644 --- a/src/Python/Translator.php +++ b/src/Python/Translator.php @@ -277,10 +277,13 @@ class Translator extends \PhpAot\Core\Translator function parseImport($node) { - $name = $node->names[0]; - $module = $name->name; - $as = empty($name->asname) ? $module : $name->asname; - return "\$$as = PyCore::import('$module')"; + $out = ''; + foreach ($node->names as $name) { + $module = $name->name; + $as = empty($name->asname) ? $module : $name->asname; + $out .= $this->getIndent() . "\$$as = PyCore::import('$module');\n"; + } + return $out; } function parseTarget($target) @@ -523,7 +526,7 @@ class Translator extends \PhpAot\Core\Translator $line = "$target += $value;"; break; case 'Import': - $line = $this->parseImport($node) . ';'; + $line = $this->parseImport($node); break; case 'Expr': $line = $this->parseExpr($node); @@ -596,7 +599,7 @@ class Translator extends \PhpAot\Core\Translator $this->addLine($line, $lines); } - function parseBody($tree) + function parseBody($tree): string { $lines = []; foreach ($tree as $node) { @@ -608,7 +611,7 @@ class Translator extends \PhpAot\Core\Translator return implode(PHP_EOL, $lines); } - function convert($tree) + function convert($tree): void { $this->prepare($tree); $output = '