/** * Returns an array with all implemented/extended interfaces. * * @return array(\ReflectionClass) */ public function getInterfaces() { $result = $this->_mergeInterfaces(parent::getInterfaces()); if (is_object($parentClass = $this->getParentClass())) { $result = $this->_mergeInterfaces($parentClass->getInterfaces(), $result); } return array_values($result); }
/** * @return void * @covers \pdepend\reflection\api\StaticReflectionInterface * @group reflection * @group reflection::api * @group unittest */ public function testGetInterfacesReturnsEachInterfaceOnlyOnce() { $interface0 = new StaticReflectionInterface(__CLASS__ . '0', ''); $interface1 = new StaticReflectionInterface(__CLASS__ . '1', ''); $interface2 = new StaticReflectionInterface(__CLASS__ . '2', ''); $interface0->initInterfaces(array($interface1, $interface2)); $interface1->initInterfaces(array($interface2)); $this->assertSame(2, count($interface0->getInterfaces())); }