original_string: protected function getFunctionHint(Closure $callback)
      {
          $function = new ReflectionFunction($callback);
  
          if ($function->getNumberOfParameters() == 0) {
              return;
          }
  
          $expected = $function->getParameters()[0];
  
          if (! $expected->getClass()) {
              return;
          }
  
          return $expected->getClass()->name;
      }
code: protected function getFunctionHint(Closure $callback)
      {
          $function = new ReflectionFunction($callback);
  
          if ($function->getNumberOfParameters() == 0) {
              return;
          }
  
          $expected = $function->getParameters()[0];
  
          if (! $expected->getClass()) {
              return;
          }
  
          return $expected->getClass()->name;
      }
code_tokens: protected function getFunctionHint ( Closure $ callback ) { $ function = new ReflectionFunction ( $ callback ) ; if ( $ function -> getNumberOfParameters ( ) == 0 ) { return ; } $ expected = $ function -> getParameters ( ) [ 0 ] ; if ( ! $ expected -> getClass ( ) ) { return ; } return $ expected -> getClass ( ) -> name ; }
docstring: Get the type hint for this closure's first argument.
  
  @param  \Closure  $callback
  @return mixed
docstring_tokens: Get the type hint for this closure s first argument .