original_string: public static function patch($options = [])
      {
          if (static::$_interceptor) {
              throw new JitException("An interceptor is already attached.");
          }
          $defaults = ['loader' => null];
          $options += $defaults;
          $loader = $options['originalLoader'] = $options['loader'] ?: static::composer();
          if (!$loader) {
              throw new JitException("The loader option need to be a valid autoloader.");
          }
          unset($options['loader']);
  
          class_exists('Lead\Jit\JitException');
          class_exists('Lead\Jit\Node\NodeDef');
          class_exists('Lead\Jit\Node\FunctionDef');
          class_exists('Lead\Jit\Node\BlockDef');
          class_exists('Lead\Jit\TokenStream');
          class_exists('Lead\Jit\Parser');
  
          $interceptor = new static($options);
          spl_autoload_unregister($loader);
          return static::load($interceptor) ? $interceptor : false;
      }
code: public static function patch($options = [])
      {
          if (static::$_interceptor) {
              throw new JitException("An interceptor is already attached.");
          }
          $defaults = ['loader' => null];
          $options += $defaults;
          $loader = $options['originalLoader'] = $options['loader'] ?: static::composer();
          if (!$loader) {
              throw new JitException("The loader option need to be a valid autoloader.");
          }
          unset($options['loader']);
  
          class_exists('Lead\Jit\JitException');
          class_exists('Lead\Jit\Node\NodeDef');
          class_exists('Lead\Jit\Node\FunctionDef');
          class_exists('Lead\Jit\Node\BlockDef');
          class_exists('Lead\Jit\TokenStream');
          class_exists('Lead\Jit\Parser');
  
          $interceptor = new static($options);
          spl_autoload_unregister($loader);
          return static::load($interceptor) ? $interceptor : false;
      }
code_tokens: public static function patch ( $ options = [ ] ) { if ( static :: $ _interceptor ) { throw new JitException ( "An interceptor is already attached." ) ; } $ defaults = [ 'loader' => null ] ; $ options += $ defaults ; $ loader = $ options [ 'originalLoader' ] = $ options [ 'loader' ] ? : static :: composer ( ) ; if ( ! $ loader ) { throw new JitException ( "The loader option need to be a valid autoloader." ) ; } unset ( $ options [ 'loader' ] ) ; class_exists ( 'Lead\Jit\JitException' ) ; class_exists ( 'Lead\Jit\Node\NodeDef' ) ; class_exists ( 'Lead\Jit\Node\FunctionDef' ) ; class_exists ( 'Lead\Jit\Node\BlockDef' ) ; class_exists ( 'Lead\Jit\TokenStream' ) ; class_exists ( 'Lead\Jit\Parser' ) ; $ interceptor = new static ( $ options ) ; spl_autoload_unregister ( $ loader ) ; return static :: load ( $ interceptor ) ? $ interceptor : false ; }
docstring: Patch the autoloader to be intercepted by the current autoloader.
  
  @param  array            $options Options for the interceptor autoloader.
  @throws JitException
docstring_tokens: Patch the autoloader to be intercepted by the current autoloader .