original_string: protected function processDir($dir) {
      $dir = $this->replacePattern($dir);
      // The absolute path has to be calculated relative to the configuration file
      if (Path::isRelative($dir)) {
        $dir = Path::makeAbsolute($dir, dirname($this->configFile));
      }
      return rtrim($dir, '/');
    }
code: protected function processDir($dir) {
      $dir = $this->replacePattern($dir);
      // The absolute path has to be calculated relative to the configuration file
      if (Path::isRelative($dir)) {
        $dir = Path::makeAbsolute($dir, dirname($this->configFile));
      }
      return rtrim($dir, '/');
    }
code_tokens: protected function processDir ( $ dir ) { $ dir = $ this -> replacePattern ( $ dir ) ; // The absolute path has to be calculated relative to the configuration file if ( Path :: isRelative ( $ dir ) ) { $ dir = Path :: makeAbsolute ( $ dir , dirname ( $ this -> configFile ) ) ; } return rtrim ( $ dir , '/' ) ; }
docstring: Process given dir with replacements and makes it absolute.
  
  @param string $dir
  
  @return string
  Absolute path with placeholders replaced.
docstring_tokens: Process given dir with replacements and makes it absolute .