/**
  * Retrieve a Reflection object for the file a shortcode is in.
  *
  * @uses $this->shortcode
  * @uses $this->reflection_object
  */
 private function set_reflection_object()
 {
     $shortcodes = $GLOBALS['shortcode_tags'];
     if (empty($this->shortcode) || !isset($shortcodes[$this->shortcode])) {
         // Not a registered shortcode.
         return;
     }
     $callback = $shortcodes[$this->shortcode];
     if (!is_string($callback) && (!is_array($callback) || is_array($callback) && (!is_string($callback[0]) && !is_object($callback[0]))) && (!is_object($callback) || is_object($callback) && !Debug_Bar_Shortcodes_Render::is_closure($callback))) {
         // Not a valid callback.
         return;
     }
     /* Set up reflection. */
     if (is_string($callback) && false === strpos($callback, '::') || is_object($callback) && Debug_Bar_Shortcodes_Render::is_closure($callback)) {
         $this->reflection_object = new ReflectionFunction($callback);
     } else {
         if (is_string($callback) && false !== strpos($callback, '::')) {
             $this->reflection_object = new ReflectionMethod($callback);
         } else {
             if (is_array($callback)) {
                 $this->reflection_object = new ReflectionMethod($callback[0], $callback[1]);
             }
         }
     }
     if (isset($this->reflection_object) && false === $this->reflection_object->isUserDefined()) {
         // Not a user defined callback, i.e. native PHP, nothing to find out about it (shouldn't ever happen).
         $this->reflection_object = null;
     }
 }