/**
  * 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()));
 }