[Bridge/ProxyManager] Remove direct reference to value holder property

This commit is contained in:
Nicolas Grekas 2017-11-10 14:01:38 +01:00
parent 85f7cc8d0a
commit af9d6446ea
1 changed files with 5 additions and 1 deletions

View File

@ -93,7 +93,11 @@ EOF;
*/
public function getProxyCode(Definition $definition)
{
return $this->classGenerator->generate($this->generateProxyClass($definition));
return preg_replace(
'/(\$this->initializer[0-9a-f]++) && \1->__invoke\(\$this->(valueHolder[0-9a-f]++), (.*?), \1\);/',
'$1 && ($1->__invoke(\$$2, $3, $1) || 1) && $this->$2 = \$$2;',
$this->classGenerator->generate($this->generateProxyClass($definition))
);
}
/**