При использовании __CLASS__ в trait падает ядро

Issue #72 new
xdasm-admin created an issue

Тестовый код:

<?php

trait ta
{
    public function fn()
    {
        echo __CLASS__;
    }

}
class ta
array(0) {
}
  function fn
      7   0 FETCH_CONSTANT           t@0  l#0                 NULL                0x10
      7   1 ECHO                     l#0  t@0                 l#0                 0x0
      8   2 RETURN                   l#0  NULL                l#0                 0x0
  4   0 NOP                      l#0  l#0                 l#0                 0x0
 11   1 RETURN                   l#0  1                   l#0                 0x0

Если вместо CLASS вставить FUNCTION, то всё норм

class ta
array(0) {
}
  function fn
      7   0 FETCH_CONSTANT           t@0  l#0                 NULL                0x10
      7   1 ECHO                     l#0  t@0                 l#0                 0x0
      8   2 RETURN                   l#0  NULL                l#0                 0x0
  4   0 NOP                      l#0  l#0                 l#0                 0x0
 11   1 RETURN                   l#0  1                   l#0                 0x0

Похоже, что для trait значение класса передается через временную переменную, которую не скопировал xcache.

Comments (0)

  1. Log in to comment