- 修改traitAliases数据结构以存储方法别名和新修饰符信息 - 实现trait方法别名时保留原始访问修饰符功能 - 添加对trait方法别名中newModifier属性的支持 - 更新翻译器中trait方法别名处理逻辑 - 扩展测试用例验证trait方法冲突解决机制pull/1/head
parent
57220d63b9
commit
aea979fae1
4 changed files with 50 additions and 9 deletions
@ -0,0 +1,35 @@ |
||||
--TEST-- |
||||
Method conflict in traits |
||||
--FILE-- |
||||
<?php |
||||
trait THello1 |
||||
{ |
||||
private function hello() |
||||
{ |
||||
echo 'Hello 2', PHP_EOL; |
||||
} |
||||
} |
||||
|
||||
class TraitsTest |
||||
{ |
||||
use THello1 { |
||||
THello1::hello as public hello2; |
||||
} |
||||
|
||||
public function hello() |
||||
{ |
||||
echo 'Hello 1' , PHP_EOL; |
||||
} |
||||
} |
||||
|
||||
function main() |
||||
{ |
||||
$o = new TraitsTest; |
||||
$o->hello2(); |
||||
$o->hello(); |
||||
} |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
Hello 2 |
||||
Hello 1 |
||||
Loading…
Reference in new issue