code: private static function getHash($what)
      {
          $str = null;
          if (!($what instanceof \Reflector)) {
              $str = \get_class($what);
          } elseif ($what instanceof \ReflectionClass) {
              $str = $what->getName();
          } elseif ($what instanceof \ReflectionMethod) {
              $str = $what->getDeclaringClass()->getName().'::'.$what->getName().'()';
          } elseif ($what instanceof \ReflectionFunction) {
              $str = $what->getName().'()';
          } elseif ($what instanceof \ReflectionProperty) {
              $str = $what->getDeclaringClass()->getName().'::'.$what->getName();
          }
          return $str
              ? \md5($str)
              : null;
      }
docs: PhpDoc won't be different between object instances
  
  Generate an identifier for what we're parsing
  
  @param mixed $what Object or Reflector
  
  @return string|null