original_string: public function getGeneratorForModule(ModuleInterface $module)
      {
          $type       = $module->getModularType();
          $collection = $this->getRouteCollectionForType($type);
  
          if (array_key_exists($type, $this->generators)) {
              return $this->generators[$type];
          }
  
          if (null === $this->options['cache_dir']) {
              return $this->generators[$type] = new $this->options['generator_class']($collection, $this->context, $this->logger);
          }
  
          $cacheClass = sprintf('%s_UrlGenerator', $type);
  
          $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'] . '/' . $cacheClass .'.php',
              function (ConfigCacheInterface $cache) use ($cacheClass, $collection) {
                  /** @var GeneratorDumperInterface $dumper */
                  $dumper = new $this->options['generator_dumper_class']($collection);
  
                  $options = [
                      'class'      => $cacheClass,
                      'base_class' => $this->options['generator_base_class'],
                  ];
  
                  $cache->write($dumper->dump($options), $collection->getResources());
              }
          );
  
          require_once $cache->getPath();
  
          return $this->generators[$type] = new $cacheClass($this->context, $this->logger);
      }
code: public function getGeneratorForModule(ModuleInterface $module)
      {
          $type       = $module->getModularType();
          $collection = $this->getRouteCollectionForType($type);
  
          if (array_key_exists($type, $this->generators)) {
              return $this->generators[$type];
          }
  
          if (null === $this->options['cache_dir']) {
              return $this->generators[$type] = new $this->options['generator_class']($collection, $this->context, $this->logger);
          }
  
          $cacheClass = sprintf('%s_UrlGenerator', $type);
  
          $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'] . '/' . $cacheClass .'.php',
              function (ConfigCacheInterface $cache) use ($cacheClass, $collection) {
                  /** @var GeneratorDumperInterface $dumper */
                  $dumper = new $this->options['generator_dumper_class']($collection);
  
                  $options = [
                      'class'      => $cacheClass,
                      'base_class' => $this->options['generator_base_class'],
                  ];
  
                  $cache->write($dumper->dump($options), $collection->getResources());
              }
          );
  
          require_once $cache->getPath();
  
          return $this->generators[$type] = new $cacheClass($this->context, $this->logger);
      }
code_tokens: public function getGeneratorForModule ( ModuleInterface $ module ) { $ type = $ module -> getModularType ( ) ; $ collection = $ this -> getRouteCollectionForType ( $ type ) ; if ( array_key_exists ( $ type , $ this -> generators ) ) { return $ this -> generators [ $ type ] ; } if ( null === $ this -> options [ 'cache_dir' ] ) { return $ this -> generators [ $ type ] = new $ this -> options [ 'generator_class' ] ( $ collection , $ this -> context , $ this -> logger ) ; } $ cacheClass = sprintf ( '%s_UrlGenerator' , $ type ) ; $ cache = $ this -> getConfigCacheFactory ( ) -> cache ( $ this -> options [ 'cache_dir' ] . '/' . $ cacheClass . '.php' , function ( ConfigCacheInterface $ cache ) use ( $ cacheClass , $ collection ) { /** @var GeneratorDumperInterface $dumper */ $ dumper = new $ this -> options [ 'generator_dumper_class' ] ( $ collection ) ; $ options = [ 'class' => $ cacheClass , 'base_class' => $ this -> options [ 'generator_base_class' ] , ] ; $ cache -> write ( $ dumper -> dump ( $ options ) , $ collection -> getResources ( ) ) ; } ) ; require_once $ cache -> getPath ( ) ; return $ this -> generators [ $ type ] = new $ cacheClass ( $ this -> context , $ this -> logger ) ; }
docstring: Returns a generator for a module.
  
  @param ModuleInterface $module
  
  @return UrlGeneratorInterface
docstring_tokens: Returns a generator for a module .