public function testCoverAllMethods()
 {
     $allInternalMethods = get_class_methods(\ReflectionProperty::class);
     $allMissedMethods = [];
     foreach ($allInternalMethods as $internalMethodName) {
         if ('export' === $internalMethodName) {
             continue;
         }
         $refMethod = new \ReflectionMethod(ReflectionProperty::class, $internalMethodName);
         $definerClass = $refMethod->getDeclaringClass()->getName();
         if (strpos($definerClass, 'Go\\ParserReflection') !== 0) {
             $allMissedMethods[] = $internalMethodName;
         }
     }
     if ($allMissedMethods) {
         $this->markTestIncomplete('Methods ' . join($allMissedMethods, ', ') . ' are not implemented');
     }
 }
 /**
  * Returns list of reflection methods
  *
  * @param null|integer $filter Optional filter
  *
  * @return array|\ReflectionMethod[]
  */
 public function getMethods($filter = null)
 {
     if (!isset($this->methods)) {
         $directMethods = ReflectionMethod::collectFromClassNode($this->classLikeNode, $this);
         $parentMethods = $this->recursiveCollect(function (array &$result, \ReflectionClass $instance, $isParent) {
             $reflectionMethods = [];
             foreach ($instance->getMethods() as $reflectionMethod) {
                 if (!$isParent || !$reflectionMethod->isPrivate()) {
                     $reflectionMethods[$reflectionMethod->name] = $reflectionMethod;
                 }
             }
             $result += $reflectionMethods;
         });
         $methods = $directMethods + $parentMethods;
         $this->methods = $methods;
     }
     if (!isset($filter)) {
         return array_values($this->methods);
     }
     $methods = [];
     foreach ($this->methods as $method) {
         if (!($filter & $method->getModifiers())) {
             continue;
         }
         $methods[] = $method;
     }
     return $methods;
 }
 /**
  * Implementation of internal reflection initialization
  *
  * @return void
  */
 protected function __initialize()
 {
     parent::__construct($this->className, $this->getName());
 }