Ejemplo n.º 1
0
 protected function getDeclaringClass(\reflectionMethod $method)
 {
     $declaringClass = $method->getDeclaringClass();
     $traits = $this->adapter->method_exists($declaringClass, 'getTraits') === false ? array() : $declaringClass->getTraits();
     if (sizeof($traits) > 0) {
         $methodFileName = $method->getFileName();
         if ($methodFileName !== $declaringClass->getFileName() || $method->getStartLine() < $declaringClass->getStartLine() || $method->getEndLine() > $declaringClass->getEndLine()) {
             if (sizeof($traits) > 0) {
                 $methodName = $method->getName();
                 foreach ($traits as $trait) {
                     if ($methodFileName === $trait->getFileName() && $trait->hasMethod($methodName) === true) {
                         return $trait;
                     }
                 }
             }
         }
     }
     return $declaringClass;
 }