feat(generator): 添加对C标准库宏的支持

- 在保留关键字列表中添加 stdin、stdout 和 stderr
- 为这些标准库宏添加变量名转义测试用例
- 确保这些宏不会被意外修改或冲突
pull/18/head
韩天峰 1 month ago
parent 324bf532bc
commit bfada61042
  1. 7
      phpunit/src/Generator/UtilsTest.php
  2. 3
      src/Metadata/Constants.php

@ -186,6 +186,13 @@ class UtilsTest extends TestCase
$this->assertStringStartsWith('_php__var__', $result);
}
public function testEscapeVarNameStdioMacros(): void
{
foreach (['stdin', 'stdout', 'stderr'] as $name) {
$this->assertEquals('_php__var__' . $name, $this->invokeMethod('escapeVarName', $name));
}
}
public function testUnescapeVarName(): void
{
$this->assertEquals('foo', $this->invokeMethod('unescapeVarName', '_php__var__foo'));

@ -109,6 +109,9 @@ class Constants
'while',
'xor',
'xor_eq',
'stdin', // C stdio macros
'stdout',
'stderr',
'pipe',
'errno', // Linux error code
'this_', // phpx keywords

Loading…
Cancel
Save