original_string: public function build()
      {
          $routeCollection = new RouteCollection();
  
          foreach ($this->routes as $name => $route) {
              if ($route instanceof Route) {
                  $route->setDefaults(array_merge($this->defaults, $route->getDefaults()));
                  $route->setOptions(array_merge($this->options, $route->getOptions()));
  
                  foreach ($this->requirements as $key => $val) {
                      if (!$route->hasRequirement($key)) {
                          $route->setRequirement($key, $val);
                      }
                  }
  
                  if (null !== $this->prefix) {
                      $route->setPath('/'.$this->prefix.$route->getPath());
                  }
  
                  if (!$route->getHost()) {
                      $route->setHost($this->host);
                  }
  
                  if (!$route->getCondition()) {
                      $route->setCondition($this->condition);
                  }
  
                  if (!$route->getSchemes()) {
                      $route->setSchemes($this->schemes);
                  }
  
                  if (!$route->getMethods()) {
                      $route->setMethods($this->methods);
                  }
  
                  // auto-generate the route name if it's been marked
                  if ('_unnamed_route_' === substr($name, 0, 15)) {
                      $name = $this->generateRouteName($route);
                  }
  
                  $routeCollection->add($name, $route);
              } else {
                  /* @var self $route */
                  $subCollection = $route->build();
                  $subCollection->addPrefix($this->prefix);
  
                  $routeCollection->addCollection($subCollection);
              }
          }
  
          foreach ($this->resources as $resource) {
              $routeCollection->addResource($resource);
          }
  
          return $routeCollection;
      }
code: public function build()
      {
          $routeCollection = new RouteCollection();
  
          foreach ($this->routes as $name => $route) {
              if ($route instanceof Route) {
                  $route->setDefaults(array_merge($this->defaults, $route->getDefaults()));
                  $route->setOptions(array_merge($this->options, $route->getOptions()));
  
                  foreach ($this->requirements as $key => $val) {
                      if (!$route->hasRequirement($key)) {
                          $route->setRequirement($key, $val);
                      }
                  }
  
                  if (null !== $this->prefix) {
                      $route->setPath('/'.$this->prefix.$route->getPath());
                  }
  
                  if (!$route->getHost()) {
                      $route->setHost($this->host);
                  }
  
                  if (!$route->getCondition()) {
                      $route->setCondition($this->condition);
                  }
  
                  if (!$route->getSchemes()) {
                      $route->setSchemes($this->schemes);
                  }
  
                  if (!$route->getMethods()) {
                      $route->setMethods($this->methods);
                  }
  
                  // auto-generate the route name if it's been marked
                  if ('_unnamed_route_' === substr($name, 0, 15)) {
                      $name = $this->generateRouteName($route);
                  }
  
                  $routeCollection->add($name, $route);
              } else {
                  /* @var self $route */
                  $subCollection = $route->build();
                  $subCollection->addPrefix($this->prefix);
  
                  $routeCollection->addCollection($subCollection);
              }
          }
  
          foreach ($this->resources as $resource) {
              $routeCollection->addResource($resource);
          }
  
          return $routeCollection;
      }
code_tokens: public function build ( ) { $ routeCollection = new RouteCollection ( ) ; foreach ( $ this -> routes as $ name => $ route ) { if ( $ route instanceof Route ) { $ route -> setDefaults ( array_merge ( $ this -> defaults , $ route -> getDefaults ( ) ) ) ; $ route -> setOptions ( array_merge ( $ this -> options , $ route -> getOptions ( ) ) ) ; foreach ( $ this -> requirements as $ key => $ val ) { if ( ! $ route -> hasRequirement ( $ key ) ) { $ route -> setRequirement ( $ key , $ val ) ; } } if ( null !== $ this -> prefix ) { $ route -> setPath ( '/' . $ this -> prefix . $ route -> getPath ( ) ) ; } if ( ! $ route -> getHost ( ) ) { $ route -> setHost ( $ this -> host ) ; } if ( ! $ route -> getCondition ( ) ) { $ route -> setCondition ( $ this -> condition ) ; } if ( ! $ route -> getSchemes ( ) ) { $ route -> setSchemes ( $ this -> schemes ) ; } if ( ! $ route -> getMethods ( ) ) { $ route -> setMethods ( $ this -> methods ) ; } // auto-generate the route name if it's been marked if ( '_unnamed_route_' === substr ( $ name , 0 , 15 ) ) { $ name = $ this -> generateRouteName ( $ route ) ; } $ routeCollection -> add ( $ name , $ route ) ; } else { /* @var self $route */ $ subCollection = $ route -> build ( ) ; $ subCollection -> addPrefix ( $ this -> prefix ) ; $ routeCollection -> addCollection ( $ subCollection ) ; } } foreach ( $ this -> resources as $ resource ) { $ routeCollection -> addResource ( $ resource ) ; } return $ routeCollection ; }
docstring: Creates the final RouteCollection and returns it.
  
  @return RouteCollection
docstring_tokens: Creates the final RouteCollection and returns it .