DDC-1477 - Adjust patch to really fix bug in Proxy generation
This commit is contained in:
parent
4e10a95dca
commit
4571e498b4
@ -165,11 +165,13 @@ class ProxyFactory
|
|||||||
{
|
{
|
||||||
$methods = '';
|
$methods = '';
|
||||||
|
|
||||||
|
$methodNames = array();
|
||||||
foreach ($class->reflClass->getMethods() as $method) {
|
foreach ($class->reflClass->getMethods() as $method) {
|
||||||
/* @var $method ReflectionMethod */
|
/* @var $method ReflectionMethod */
|
||||||
if ($method->isConstructor() || in_array(strtolower($method->getName()), array("__sleep", "__clone")) || $class->reflClass->getName() != $method->class) {
|
if ($method->isConstructor() || in_array(strtolower($method->getName()), array("__sleep", "__clone")) || isset($methodNames[$method->getName()])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
$methodNames[$method->getName()] = true;
|
||||||
|
|
||||||
if ($method->isPublic() && ! $method->isFinal() && ! $method->isStatic()) {
|
if ($method->isPublic() && ! $method->isFinal() && ! $method->isStatic()) {
|
||||||
$methods .= "\n" . ' public function ';
|
$methods .= "\n" . ' public function ';
|
||||||
@ -234,7 +236,7 @@ class ProxyFactory
|
|||||||
*/
|
*/
|
||||||
private function isShortIdentifierGetter($method, $class)
|
private function isShortIdentifierGetter($method, $class)
|
||||||
{
|
{
|
||||||
$identifier = lcfirst(substr($method->getName(), 3));
|
$identifier = lcfirst(substr($method->getName(), 3));
|
||||||
return (
|
return (
|
||||||
$method->getNumberOfParameters() == 0 &&
|
$method->getNumberOfParameters() == 0 &&
|
||||||
substr($method->getName(), 0, 3) == "get" &&
|
substr($method->getName(), 0, 3) == "get" &&
|
||||||
|
@ -39,6 +39,7 @@ class MappedSuperclassTest extends \Doctrine\Tests\OrmFunctionalTestCase
|
|||||||
$cleanFile = $this->_em->find(get_class($file), $file->getId());
|
$cleanFile = $this->_em->find(get_class($file), $file->getId());
|
||||||
|
|
||||||
$this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent());
|
$this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent());
|
||||||
|
$this->assertInstanceOf('Doctrine\ORM\Proxy\Proxy', $cleanFile->getParent());
|
||||||
$this->assertEquals($directory->getId(), $cleanFile->getParent()->getId());
|
$this->assertEquals($directory->getId(), $cleanFile->getParent()->getId());
|
||||||
$this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent()->getParent());
|
$this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent()->getParent());
|
||||||
$this->assertEquals($root->getId(), $cleanFile->getParent()->getParent()->getId());
|
$this->assertEquals($root->getId(), $cleanFile->getParent()->getParent()->getId());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user