original_string: private function compileSwitchDefault(bool $hasVars, bool $matchHost): string
      {
          if ($hasVars) {
              $code = <<<EOF
  
              foreach (\$vars as \$i => \$v) {
                  if (isset(\$matches[1 + \$i])) {
                      \$ret[\$v] = \$matches[1 + \$i];
                  }
              }
  
  EOF;
          } elseif ($matchHost) {
              $code = <<<EOF
  
              if (\$requiredHost) {
                  if ('#' !== \$requiredHost[0] ? \$requiredHost !== \$host : !preg_match(\$requiredHost, \$host, \$hostMatches)) {
                      break;
                  }
                  if ('#' === \$requiredHost[0] && \$hostMatches) {
                      \$hostMatches['_route'] = \$ret['_route'];
                      \$ret = \$this->mergeDefaults(\$hostMatches, \$ret);
                  }
              }
  
  EOF;
          } else {
              $code = '';
          }
  
          $code .= <<<EOF
  
              \$hasRequiredScheme = !\$requiredSchemes || isset(\$requiredSchemes[\$context->getScheme()]);
              if (\$requiredMethods && !isset(\$requiredMethods[\$canonicalMethod]) && !isset(\$requiredMethods[\$requestMethod])) {
                  if (\$hasRequiredScheme) {
                      \$allow += \$requiredMethods;
                  }
                  break;
              }
              if (!\$hasRequiredScheme) {
                  \$allowSchemes += \$requiredSchemes;
                  break;
              }
  
              return \$ret;
  
  EOF;
  
          return $code;
      }
code: private function compileSwitchDefault(bool $hasVars, bool $matchHost): string
      {
          if ($hasVars) {
              $code = <<<EOF
  
              foreach (\$vars as \$i => \$v) {
                  if (isset(\$matches[1 + \$i])) {
                      \$ret[\$v] = \$matches[1 + \$i];
                  }
              }
  
  EOF;
          } elseif ($matchHost) {
              $code = <<<EOF
  
              if (\$requiredHost) {
                  if ('#' !== \$requiredHost[0] ? \$requiredHost !== \$host : !preg_match(\$requiredHost, \$host, \$hostMatches)) {
                      break;
                  }
                  if ('#' === \$requiredHost[0] && \$hostMatches) {
                      \$hostMatches['_route'] = \$ret['_route'];
                      \$ret = \$this->mergeDefaults(\$hostMatches, \$ret);
                  }
              }
  
  EOF;
          } else {
              $code = '';
          }
  
          $code .= <<<EOF
  
              \$hasRequiredScheme = !\$requiredSchemes || isset(\$requiredSchemes[\$context->getScheme()]);
              if (\$requiredMethods && !isset(\$requiredMethods[\$canonicalMethod]) && !isset(\$requiredMethods[\$requestMethod])) {
                  if (\$hasRequiredScheme) {
                      \$allow += \$requiredMethods;
                  }
                  break;
              }
              if (!\$hasRequiredScheme) {
                  \$allowSchemes += \$requiredSchemes;
                  break;
              }
  
              return \$ret;
  
  EOF;
  
          return $code;
      }
code_tokens: private function compileSwitchDefault ( bool $ hasVars , bool $ matchHost ) : string { if ( $ hasVars ) { $ code =  <<<EOF
  
              foreach (\$vars as \$i => \$v) {
                  if (isset(\$matches[1 + \$i])) {
                      \$ret[\$v] = \$matches[1 + \$i];
                  }
              }
  
  EOF ; } elseif ( $ matchHost ) { $ code =  <<<EOF
  
              if (\$requiredHost) {
                  if ('#' !== \$requiredHost[0] ? \$requiredHost !== \$host : !preg_match(\$requiredHost, \$host, \$hostMatches)) {
                      break;
                  }
                  if ('#' === \$requiredHost[0] && \$hostMatches) {
                      \$hostMatches['_route'] = \$ret['_route'];
                      \$ret = \$this->mergeDefaults(\$hostMatches, \$ret);
                  }
              }
  
  EOF ; } else { $ code = '' ; } $ code .=  <<<EOF
  
              \$hasRequiredScheme = !\$requiredSchemes || isset(\$requiredSchemes[\$context->getScheme()]);
              if (\$requiredMethods && !isset(\$requiredMethods[\$canonicalMethod]) && !isset(\$requiredMethods[\$requestMethod])) {
                  if (\$hasRequiredScheme) {
                      \$allow += \$requiredMethods;
                  }
                  break;
              }
              if (!\$hasRequiredScheme) {
                  \$allowSchemes += \$requiredSchemes;
                  break;
              }
  
              return \$ret;
  
  EOF ; return $ code ; }
docstring: A simple helper to compiles the switch's "default" for both static and dynamic routes.
docstring_tokens: A simple helper to compiles the switch s default for both static and dynamic routes .